<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.playonlinux.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petch</id>
		<title>PlayOnLinux - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.playonlinux.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Petch"/>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php/Special:Contributions/Petch"/>
		<updated>2026-04-17T11:25:29Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Components_and_Functions&amp;diff=865</id>
		<title>Components and Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Components_and_Functions&amp;diff=865"/>
				<updated>2016-02-05T17:56:37Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Add missing POL_Call&amp;#039;s&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Details, use cases, related errors, and more on each component coming soon...&lt;br /&gt;
&lt;br /&gt;
== AdobeAir ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The Adobe AIR runtime enables developers to package the same code into native applications and games for Windows and Mac OS desktops as well as iOS and Android devices, reaching over a billion desktop systems and mobile app stores for over 500 million devices.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-from http://get.adobe.com/air/&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Installs the Adobe Air package.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Certain Adobe products require this to be installed as a dependency.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_AdobeAir&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
http://get.adobe.com/air/&lt;br /&gt;
&lt;br /&gt;
== amstream ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_amstream&lt;br /&gt;
&lt;br /&gt;
== ATI_Black-Screen_Fix ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_ATI_Black-Screen_Fix&lt;br /&gt;
&lt;br /&gt;
== atmlib ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_atmlib&lt;br /&gt;
&lt;br /&gt;
== cc580 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_cc580&lt;br /&gt;
&lt;br /&gt;
== CentralizedUserDirs ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_CentralizedUserDirs&lt;br /&gt;
&lt;br /&gt;
== corefonts ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;TrueType is an outline font standard developed by Apple and Microsoft in the late 1980s as a competitor to Adobe&amp;#039;s Type 1 fonts used in PostScript. It has become the most common format for fonts on both the Mac OS and Microsoft Windows operating systems.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
from http://en.wikipedia.org/wiki/TrueType&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Downloads and registers TrueType fonts (TTF). Here is a list of the fonts that will be installed into the given virtual drive:&lt;br /&gt;
&lt;br /&gt;
* andale mono&lt;br /&gt;
* arial black&lt;br /&gt;
* arial (bold, italic, bold italic)&lt;br /&gt;
* comic sans ms (bold)&lt;br /&gt;
* courier new (bold, italic, bold italic)&lt;br /&gt;
* georgia (bold, italic, bold italic)&lt;br /&gt;
* impact&lt;br /&gt;
* times new roman (bold, italic, bold italic)&lt;br /&gt;
* trebuchet (bold, italic, bold italic)&lt;br /&gt;
* verdana (bold, italic, bold italic)&lt;br /&gt;
* webdings&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Any time you experience missing text in an application, this would be the first place you would want to start. This is usually installed by default, though. If this does not work, try &amp;#039;&amp;#039;&amp;#039;tahoma&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;tahoma2&amp;#039;&amp;#039;&amp;#039; from the [http://wiki.playonlinux.com/index.php/The_Configuration_Window Install Components tab], as those are the usual suspects in such acts of font thievery.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_corefonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/TrueType&lt;br /&gt;
&lt;br /&gt;
== crypt32 ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;crypt32&amp;#039;&amp;#039; does quite a few things relating to decrypting/encrypting data. Basic information in the links below.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;It supports encryption, decryption, and manipulation of certificates and related data structures.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
from http://wiki.winehq.org/Crypt32&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Most of this is taken care of within Wine via the &amp;#039;&amp;#039;builtin&amp;#039;&amp;#039; dll. You may run into times when the native dll is needed, in which case the POL debug log will spit out an error saying that it tried to do something with it and it failed (like &amp;#039;&amp;#039;unhandled exception&amp;#039;&amp;#039; or &amp;#039;&amp;#039;cannot find crypt32.dll&amp;#039;&amp;#039;, etc.). If you do happen to run into an error like this, we highly encourage you to report it to https://appdb.winehq.org so that the community there can possibly implement a fix that is native to Wine, eliminating the need for the actual Windows dll.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_crypt32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://wiki.winehq.org/Crypt32&lt;br /&gt;
&lt;br /&gt;
== dcom98 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_dcom98&lt;br /&gt;
&lt;br /&gt;
== DirectX ==&lt;br /&gt;
&lt;br /&gt;
=== d3dcompiler_43 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dcompiler_43&lt;br /&gt;
&lt;br /&gt;
=== d3dx10 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx10&lt;br /&gt;
&lt;br /&gt;
=== d3dx11 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx11&lt;br /&gt;
&lt;br /&gt;
=== d3dx9 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9&lt;br /&gt;
&lt;br /&gt;
=== d3dx9_29 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9_29&lt;br /&gt;
&lt;br /&gt;
=== d3dx9_35 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9_35&lt;br /&gt;
&lt;br /&gt;
=== d3dx9_36 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9_36&lt;br /&gt;
&lt;br /&gt;
=== d3dx9_40 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9_40&lt;br /&gt;
&lt;br /&gt;
=== d3dx9_42 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9_42&lt;br /&gt;
&lt;br /&gt;
=== d3dx9_43 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_d3dx9_43&lt;br /&gt;
&lt;br /&gt;
=== dinput8 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_dinput8&lt;br /&gt;
&lt;br /&gt;
=== directmusic ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_directmusic&lt;br /&gt;
&lt;br /&gt;
=== directplay ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_directplay&lt;br /&gt;
&lt;br /&gt;
=== directx9 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_directx9&lt;br /&gt;
&lt;br /&gt;
=== dinput ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_dinput&lt;br /&gt;
&lt;br /&gt;
=== dsound ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_dsound&lt;br /&gt;
&lt;br /&gt;
=== dxdiag ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_dxdiag&lt;br /&gt;
&lt;br /&gt;
=== dxfullsetup ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_dxfullsetup&lt;br /&gt;
&lt;br /&gt;
== Desura ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_desura&lt;br /&gt;
&lt;br /&gt;
== devenum ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_devenum&lt;br /&gt;
&lt;br /&gt;
== DisableCrashDialog ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_DisableCrashDialog&lt;br /&gt;
&lt;br /&gt;
== DosboxDrive ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_DosboxDrive&lt;br /&gt;
&lt;br /&gt;
== .NET ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet11 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet11sp1 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet20 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet20sp1 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet20sp2 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet30 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet30sp1 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet35 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet35sp1 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_dotnet40 ===&lt;br /&gt;
&lt;br /&gt;
== fakeie6 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_fakeie6&lt;br /&gt;
&lt;br /&gt;
== ffdshow ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_ffdshow&lt;br /&gt;
&lt;br /&gt;
== flashplayer ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_flashplayer&lt;br /&gt;
&lt;br /&gt;
== Flashplayer_ActiveX ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_Flashplayer_ActiveX&lt;br /&gt;
&lt;br /&gt;
== FontsSmoothBGR ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_FontsSmoothBGR&lt;br /&gt;
&lt;br /&gt;
== FontsSmoothGrayScale ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_FontsSmoothGrayScale&lt;br /&gt;
&lt;br /&gt;
== FontsSmoothRGB ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_FontsSmoothRGB&lt;br /&gt;
&lt;br /&gt;
== gdiplus ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_gdiplus&lt;br /&gt;
&lt;br /&gt;
== gecko ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_gecko&lt;br /&gt;
&lt;br /&gt;
== gfwl ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_gfwl&lt;br /&gt;
&lt;br /&gt;
== gfwl86 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_gfwl86&lt;br /&gt;
&lt;br /&gt;
== HackSteam ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_HackSteam&lt;br /&gt;
&lt;br /&gt;
== ie6 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_ie6&lt;br /&gt;
&lt;br /&gt;
== ie8 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_ie8&lt;br /&gt;
&lt;br /&gt;
== iv50 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_iv50&lt;br /&gt;
&lt;br /&gt;
== linuxtrack-wine ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_linuxtrack-wine&lt;br /&gt;
&lt;br /&gt;
== LunaTheme ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_LunaTheme&lt;br /&gt;
&lt;br /&gt;
== mdac28 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_mdac28&lt;br /&gt;
&lt;br /&gt;
== mfc ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_mfc40 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_mfc42 ===&lt;br /&gt;
&lt;br /&gt;
== Mono ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_mono210 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_mono26 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_mono28 ===&lt;br /&gt;
&lt;br /&gt;
== msasn1 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_msasn1&lt;br /&gt;
&lt;br /&gt;
== msls31 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_msls31&lt;br /&gt;
&lt;br /&gt;
== msvc ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_msvc100 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_msvc80 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_msvc90 ===&lt;br /&gt;
&lt;br /&gt;
== msxml ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_msxml3 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_msxml4 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_msxml6 ===&lt;br /&gt;
&lt;br /&gt;
== nop ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_nop&lt;br /&gt;
&lt;br /&gt;
== physx ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_physx&lt;br /&gt;
&lt;br /&gt;
== pngfilt ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_pngfilt&lt;br /&gt;
&lt;br /&gt;
== PrivateUserDirs ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_PrivateUserDirs&lt;br /&gt;
&lt;br /&gt;
== quartz ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_quartz&lt;br /&gt;
&lt;br /&gt;
== RegisterFonts ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_RegisterFonts&lt;br /&gt;
&lt;br /&gt;
== riched20 ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_riched20 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_riched30 ===&lt;br /&gt;
&lt;br /&gt;
== rsc ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_rsc&lt;br /&gt;
&lt;br /&gt;
== steam ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An installer for the game publishing platform Steam.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Downloads and Installs Steam client.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Any time a game requires Steam to run.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_steam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://store.steampowered.com/&lt;br /&gt;
&lt;br /&gt;
== steam_flags ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A helper script for Steam.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set registry third-party flags to avoid steam installing them at the game&amp;#039;s first launch.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To avoid Steam reinstalling POL-installed dependencies (Wine sometimes requires some &amp;#039;&amp;#039;wizardry&amp;#039;&amp;#039; to get things working that the stock installers do not do, and can cause the application not to run if the workaround is overwritten or broken by the default installation being triggered by the Steam client.).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_steam_flags&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
https://www.playonlinux.com/en/app-927-POL_Install_steam_flags.html&lt;br /&gt;
&lt;br /&gt;
== tahoma ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An installer for the Microsoft font &amp;#039;&amp;#039;Tahoma&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Downloads and registers &amp;#039;&amp;#039;Tahoma&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Any time the &amp;#039;&amp;#039;Tahoma&amp;#039;&amp;#039; font is needed.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_tahoma&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://www.microsoft.com/typography/fonts/family.aspx?FID=19&lt;br /&gt;
&lt;br /&gt;
== tahoma2 ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
An alternative installer for the Microsoft font &amp;#039;&amp;#039;Tahoma&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Downloads and registers Tahoma, but from a different package.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Any time the &amp;#039;&amp;#039;Tahoma&amp;#039;&amp;#039; font is needed, where the regular &amp;#039;&amp;#039;Tahoma&amp;#039;&amp;#039; installer does not work (like Photoshop CS6).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_tahoma2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://www.microsoft.com/typography/fonts/family.aspx?FID=19&lt;br /&gt;
&lt;br /&gt;
== ubigamelauncher ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_ubigamelauncher&lt;br /&gt;
&lt;br /&gt;
== vbrun6 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_vbrun6&lt;br /&gt;
&lt;br /&gt;
== vcrun ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_vcrun2005 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_vcrun2008 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_vcrun2010 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_vcrun2012 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_vcrun2013 ===&lt;br /&gt;
&lt;br /&gt;
=== POL_Install_vcrun6 ===&lt;br /&gt;
&lt;br /&gt;
== VideoDriver ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_VideoDriver&lt;br /&gt;
&lt;br /&gt;
== wine64b ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wine64b&lt;br /&gt;
&lt;br /&gt;
== wineasio ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What is it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
WineASIO provides an ASIO driver interface from Wine to jack for low-latency audio and advanced audio/MIDI routing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What does it do?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks for the following:&lt;br /&gt;
&lt;br /&gt;
* Checks that the virtual drive is 32-bit&lt;br /&gt;
&lt;br /&gt;
* Makes sure that the user is part of the &amp;#039;&amp;#039;audio&amp;#039;&amp;#039; group&lt;br /&gt;
&lt;br /&gt;
* Confirms the presence of &amp;#039;&amp;#039;jack&amp;#039;&amp;#039; and &amp;#039;&amp;#039;qjackctl&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Then, if all checks pass, WineASIO is downloaded and registered into that virtual drive.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;When would I need it?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Certain Adobe products require this to be installed as a dependency.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Script/Shell command:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_wineasio&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Links:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
http://sourceforge.net/projects/wineasio/&lt;br /&gt;
&lt;br /&gt;
== winhttp ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_winhttp&lt;br /&gt;
&lt;br /&gt;
== wininet ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wininet&lt;br /&gt;
&lt;br /&gt;
== wintrust ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wintrust&lt;br /&gt;
&lt;br /&gt;
== wmp10 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wmp10&lt;br /&gt;
&lt;br /&gt;
== wmp9 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wmp9&lt;br /&gt;
&lt;br /&gt;
== wmpcodecs ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wmpcodecs&lt;br /&gt;
&lt;br /&gt;
== wsh56 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wsh56&lt;br /&gt;
&lt;br /&gt;
== wsh57 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_wsh57&lt;br /&gt;
&lt;br /&gt;
== xact ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_xact&lt;br /&gt;
&lt;br /&gt;
== xinput ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_xinput&lt;br /&gt;
&lt;br /&gt;
== xmllite ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_xmllite&lt;br /&gt;
&lt;br /&gt;
== xna31 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_xna31&lt;br /&gt;
&lt;br /&gt;
== xna40 ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_xna40&lt;br /&gt;
&lt;br /&gt;
== xvid ==&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Install_xvid&lt;br /&gt;
&lt;br /&gt;
== Other Functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Configurator_runparts ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Configurator_runparts&lt;br /&gt;
&lt;br /&gt;
=== POL_Download_retry ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Download_retry&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_FontsSmoothBGR ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_FontsSmoothBGR&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_FontsSmoothGrayScale ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_FontsSmoothGrayScale&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_FontsSmoothRGB ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_FontsSmoothRGB&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_NoCDWarning ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_NoCDWarning&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_override_app_dlls ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_override_app_dlls&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_OverrideDLL&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_RootCommand ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_RootCommand&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_sandbox ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_sandbox&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_SetNativeExtension ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_SetNativeExtension&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_simplecdscript ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_simplecdscript&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_simplescript ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_simplescript&lt;br /&gt;
&lt;br /&gt;
=== POL_Function_Sleep ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Function_Sleep&lt;br /&gt;
&lt;br /&gt;
=== POL_Gamefront_Download ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_Gamefront_Download&lt;br /&gt;
&lt;br /&gt;
=== POL_GetTool_samba3 ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_GetTool_samba3&lt;br /&gt;
&lt;br /&gt;
=== POL_GoG_download ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_GoG_download&lt;br /&gt;
&lt;br /&gt;
=== POL_GoG_Extract ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_GoG_Extract&lt;br /&gt;
&lt;br /&gt;
=== POL_GoG_install ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_GoG_install&lt;br /&gt;
&lt;br /&gt;
=== POL_GoG_setup ===&lt;br /&gt;
&lt;br /&gt;
POL_Call POL_GoG_setup&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Troubleshooting_Common_Problems&amp;diff=858</id>
		<title>Troubleshooting Common Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Troubleshooting_Common_Problems&amp;diff=858"/>
				<updated>2016-01-06T13:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* Create a symlink */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here is a list of common errors and possible solutions. Not everything will be here, but this list will get a lot bigger as time goes on, and hopefully, with the help of the community, we can make this list very, very robust.&lt;br /&gt;
&lt;br /&gt;
When trying a possible solution for an issue, please only try &amp;#039;&amp;#039;&amp;#039;ONE&amp;#039;&amp;#039;&amp;#039; solution at a time, and test to see if it worked. &lt;br /&gt;
&lt;br /&gt;
== p11-kit: couldn&amp;#039;t load module: ... ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|p11-kit: couldn&amp;#039;t load module: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
Mostly users of Debian, Ubuntu, Kubuntu, etc., Mint (and derivatives), 64-bit systems.&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
The 32-bit version of &amp;#039;&amp;#039;p11-kit-trust.so&amp;#039;&amp;#039; is either not installed, or is not located in an area that Wine expected it to be.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== Install 32-bit version of p11-kit-trust.so ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;#039;code bash&amp;#039;&amp;gt;&lt;br /&gt;
sudo apt-get install p11-kit-modules:i386&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Create a symlink ====&lt;br /&gt;
&lt;br /&gt;
(for systems before multiarch feature?)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;found at http://askubuntu.com/a/384018&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;#039;code bash&amp;#039;&amp;gt;&lt;br /&gt;
sudo /usr/local/bin/getlibs -p p11-kit:i386&lt;br /&gt;
sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/i386-linux-gnu/pkcs11/p11-kit-trust.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Error in FS_Check ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|The following file is located on a fuse filesystem. It might prevent wine from working}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
Anyone trying to run an executable file in Wine/POL that is located on an NTFS filesystem.&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
Wine can get grumpy with how NTFS, Linux, and Wine interact with each other. This warning is simply there to alert you to this fact. Most of the time, this error can be ignored.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== Move executable to a native Linux filesystem ====&lt;br /&gt;
&lt;br /&gt;
Simply move the executable file in question to your native Linux filesystem, and this error will go away. It will only appear when trying to execute a file that is located on a FUSE filesystem.&lt;br /&gt;
&lt;br /&gt;
== Failed to use ICMP ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|err:winediag:IcmpCreateFile Failed to use ICMP (network ping), this requires special permissions.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
Anyone trying to run an application that wants to ping out. On POSIX-compliant systems, &amp;#039;&amp;#039;ping&amp;#039;&amp;#039; needs admin rights. &amp;#039;&amp;#039;NOTE:&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;NEVER&amp;#039;&amp;#039;&amp;#039; run Wine or POL as root.&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
When a program tries to send an ICMP packet running through POL/Wine, it will fail, as it needs administrative rights, and we never run POL or Wine as &amp;#039;&amp;#039;root&amp;#039;&amp;#039;, do we? ;)&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== Switch to WineBuild &amp;#039;&amp;#039;1.7.45-staging&amp;#039;&amp;#039; or higher ====&lt;br /&gt;
&lt;br /&gt;
There is a fix for this in the Wine-Staging builds found in &amp;#039;&amp;#039;&amp;#039;Manage Wine Versions&amp;#039;&amp;#039;&amp;#039;, so that should be tried first.&lt;br /&gt;
&lt;br /&gt;
==== Give rights to POL&amp;#039;s WineBuild ====&lt;br /&gt;
&lt;br /&gt;
In most instances, you will see a command to remedy this. Most of the time, it is missing the final argument, which is the particular instance of Wine that you are running. These solutions work fine for Vanilla Wine, but not POL. For POL, you have to point the particular command to POL&amp;#039;s WineBuild for that particular virtual drive.&lt;br /&gt;
&lt;br /&gt;
For instance, &amp;#039;&amp;#039;&amp;#039;AION&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
All of POL&amp;#039;s WineBuilds are stored in ~/.PlayOnLinux/wine/&lt;br /&gt;
&lt;br /&gt;
Within this folder, you have different sub-folders for architecture, and then Wine version. In the case of &amp;#039;&amp;#039;&amp;#039;AION&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
{{Console|/home/username/.PlayOnLinux/wine/linux-x86/1.7.36}}&lt;br /&gt;
&lt;br /&gt;
Find out which Wine version your application needs:&lt;br /&gt;
&lt;br /&gt;
# Open the Configuration Window&lt;br /&gt;
# In the General tab, when your virtual drive is selected, look at the name of the version of Wine in use. &lt;br /&gt;
&lt;br /&gt;
Now, the command you would want to run is:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE&amp;#039;&amp;#039;&amp;#039;: &amp;#039;&amp;#039;Do NOT copy and paste these commands. They need to be modified for your particular situation.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{{Console|sudo setcap cap_net_raw+epi /home/username/.PlayOnLinux/wine/linux-x86/1.7.36/bin/wine}}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
{{Console|sudo setcap cap_net_raw+epi /home/username/.PlayOnLinux/wine/linux-x86/1.7.36/bin/wine-preloader}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;NOTE:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;I have seen both bin/wine and bin/wine-preloader shown in examples, so for posterity, I am including both.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Essentially, the syntax for this is as follows:&lt;br /&gt;
&lt;br /&gt;
{{Console|sudo setcap cap_net_raw+epi /home/&amp;#039;&amp;#039;&amp;#039;username&amp;#039;&amp;#039;&amp;#039;/.PlayOnLinux/wine/&amp;#039;&amp;#039;&amp;#039;WineArchitecture&amp;#039;&amp;#039;&amp;#039;/&amp;#039;&amp;#039;&amp;#039;WineVersion&amp;#039;&amp;#039;&amp;#039;/bin/wine}}&lt;br /&gt;
&lt;br /&gt;
Replace: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;username&amp;#039;&amp;#039;&amp;#039; with your current username&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wine Architecture&amp;#039;&amp;#039;&amp;#039; with either &amp;#039;&amp;#039;&amp;#039;linux-x86&amp;#039;&amp;#039;&amp;#039; (32-bit virtual drive) or &amp;#039;&amp;#039;&amp;#039;linux-amd64&amp;#039;&amp;#039;&amp;#039; (64-bit virtual drive)&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Wine Version&amp;#039;&amp;#039;&amp;#039; with the &amp;#039;&amp;#039;&amp;#039;EXACT&amp;#039;&amp;#039;&amp;#039; name listed in the &amp;#039;&amp;#039;&amp;#039;Wine dropdown menu&amp;#039;&amp;#039;&amp;#039; in the &amp;#039;&amp;#039;&amp;#039;General tab&amp;#039;&amp;#039;&amp;#039; of the &amp;#039;&amp;#039;&amp;#039; Configuration Window&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Error! Files mismatch ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|&amp;#039;&amp;#039;someurl&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Error! Files mismatch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Local: &amp;#039;&amp;#039;md5resultexpected&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Server: &amp;#039;&amp;#039;md5resultdownloaded&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Do you want to retry?&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
This can happen to any user on any system. It is also architecture agnostic.&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
When POL scripts use certain API calls, there is a positional argument for the MD5 hash, to make sure that the downloaded file is intact and is not different than what has been tested. If the server hosting a certain file updates or changes the file in question, or if the download fails, the MD5 will be different, and will throw an error.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== File bug report with POL ====&lt;br /&gt;
&lt;br /&gt;
If this happens, it is something that the POL team should be made aware of. Please let us know so that we can take measures to correct this issue. As long as we can get the new file successfully, we can grab the MD5 hash and change the script so that this error will not pop up again (of course, if the file changes, this will happen again, and should be reported.).&lt;br /&gt;
&lt;br /&gt;
== The application you are trying to install needs administrator rights... ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|The application you are trying to install needs administrator rights to function correctly.}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
Anyone on any distro may see this error&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
Wine does not implement privileges as some Windows applications may expect, so if a program relies on certain aspects of Windows&amp;#039; user rights that Wine does not or cannot implement, it will fail.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== File bug report with WineHQ ====&lt;br /&gt;
&lt;br /&gt;
Anything like this should be reported directly to WineHQ&amp;#039;s team, as they would need to troubleshoot and possibly develop a workaround to the permissions issue. You can find their bug system here:&lt;br /&gt;
&lt;br /&gt;
* [https://bugs.winehq.org/ WineHQ&amp;#039;s Bugzilla]&lt;br /&gt;
&lt;br /&gt;
== League of Legends Stuck on Logo (after Champ Select) ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
League of Legends simply stalls at the logo after the champion select dialogue.&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
Anyone on any distro may see this error&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
Multiple d3d libraries that come with Wine apparently, according to threads like [https://www.playonlinux.com/en/topic-11344-HOWTO_Fix_League_Of_Legends_stuck_on_Logo_after_champ_select.html this], do not offer the performance that the native d3d libraries do.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== Install needed components ====&lt;br /&gt;
&lt;br /&gt;
Instructions adapted from this thread:&lt;br /&gt;
&lt;br /&gt;
[https://www.playonlinux.com/en/topic-11344-HOWTO_Fix_League_Of_Legends_stuck_on_Logo_after_champ_select.html https://www.playonlinux.com/en/topic-11344-HOWTO_Fix_League_Of_Legends_stuck_on_Logo_after_champ_select.html]&lt;br /&gt;
&lt;br /&gt;
# Install in POL: d3dx10, d3dx11, d3dx9 (only d3dx9, not the other d3dx9_etc) and directx9&lt;br /&gt;
# It will break your Adobe Air (already installed in the virtual drive). I really don&amp;#039;t know why but it does it, so we have to fix, go to Configure Wine, then select the tab Libraries and add the lib &amp;quot;dnsapi&amp;quot; and set it to &amp;quot;builtin, native&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== PlayOnMac: SECUR32_initNTLMSP ntlm_auth was not found or is outdated ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
PlayOnMac users, even if Samba and winbind are installed.&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
PlayOnMac is not reading the correct path for some reason.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== Edit PlayOnMac Bash script to properly set path ====&lt;br /&gt;
&lt;br /&gt;
Instructions adapted from this thread:&lt;br /&gt;
&lt;br /&gt;
[https://www.playonlinux.com/en/topic-13072-Dreaded_ntlm_auth.html https://www.playonlinux.com/en/topic-13072-Dreaded_ntlm_auth.html]&lt;br /&gt;
&lt;br /&gt;
# Edit &amp;#039;&amp;#039;/Applications/PlayOnMac.app/Contents/MacOS/playonmac&amp;#039;&amp;#039;&lt;br /&gt;
# Change &amp;#039;&amp;#039;#!/bin/bash&amp;#039;&amp;#039; to &amp;#039;&amp;#039;#!/bin/bash --login&amp;#039;&amp;#039;, save, and try to start PlayOnMac&lt;br /&gt;
&lt;br /&gt;
== No sound (err:module:load_builtin_dll... libasound.so.2...) ==&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{{Console|err:module:load_builtin_dll failed to load .so lib for builtin L&amp;quot;winealsa.drv&amp;quot;: libasound.so.2: cannot open shared object file: No such file or directory.}}&lt;br /&gt;
&lt;br /&gt;
=== Who might encounter this error? ===&lt;br /&gt;
&lt;br /&gt;
Any user on any system may experience this.&lt;br /&gt;
&lt;br /&gt;
=== What causes this error? ===&lt;br /&gt;
&lt;br /&gt;
Missing 32-bit library; in this case, &amp;#039;&amp;#039;libasound2&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Common solutions ===&lt;br /&gt;
&lt;br /&gt;
==== Install the 32-bit version of libasound2 ====&lt;br /&gt;
&lt;br /&gt;
Refer to your distro&amp;#039;s docs for the package name for that system. 64-bit systems, because of how Wine/POL works, will almost always need the 32-bit version of libraries used for Wine/POL. Multiarch system&amp;#039;s with support for package management with mixed-architectures should check manually if this error is coming up (some distros put things in odd places or don&amp;#039;t handle multiarch support very well.).&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Talk:Troubleshooting_Common_Problems&amp;diff=856</id>
		<title>Talk:Troubleshooting Common Problems</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Talk:Troubleshooting_Common_Problems&amp;diff=856"/>
				<updated>2015-12-12T15:29:31Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Created page with &amp;quot; This page lists recognizable patterns that can be read off the debug logs, but lacks some introduction explaining how to get debug logs in the first place&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page lists recognizable patterns that can be read off the debug logs, but lacks some introduction explaining how to get debug logs in the first place&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Talk:Graphics_Card_Drivers&amp;diff=855</id>
		<title>Talk:Graphics Card Drivers</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Talk:Graphics_Card_Drivers&amp;diff=855"/>
				<updated>2015-11-01T11:15:26Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Created page with &amp;quot; Installing Mesa 32bit is not how you add 32bit support to nVidia proprietary drivers; That requires adding packages like libgl1-mesa-glx:i386 on current Debian Sid for exampl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Installing Mesa 32bit is not how you add 32bit support to nVidia proprietary drivers; That requires adding packages like libgl1-mesa-glx:i386 on current Debian Sid for example.&lt;br /&gt;
The problem is finding the right package name for each distro and release, since nVidia driver packaging changed a lot :(&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=850</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=850"/>
				<updated>2015-10-12T21:18:27Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_free_presentation (4.0+) */  Same purpose explanation as POL_SetupWindow_presentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_201510120640&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, so it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the scripts.&lt;br /&gt;
&lt;br /&gt;
If some error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), at this point PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a standard introductory screen for the install script and the software it&amp;#039;s about to install.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement will display the name of the software the install script is about to install, along with basic informations about it, and the name of the script author, in a standardized format. If some &amp;quot;left image&amp;quot; has been setup with &amp;#039;&amp;#039;&amp;#039;POL_GetSetupImages&amp;#039;&amp;#039;&amp;#039;, it will be displayed at the same time.&lt;br /&gt;
&lt;br /&gt;
This can be used right before the installation starts, so the user has one more chance to check what is about to be installed, and eventually cancel the installation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpuse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a free format introductory screen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In case the standardized format of &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_presentation&amp;#039;&amp;#039;&amp;#039; introductory screen does not fit the needs of the install script, this statement let you use any text you want instead. If some &amp;quot;left image&amp;quot; has been defined with &amp;#039;&amp;#039;&amp;#039;POL_GetSetupImages&amp;#039;&amp;#039;&amp;#039; statement, it will be displayed at the same time.&lt;br /&gt;
&lt;br /&gt;
This can be used right before the installation starts, so the user has one more chance to check what is about to be installed, and eventually cancel the installation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=849</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=849"/>
				<updated>2015-10-12T21:17:31Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_free_presentation (4.0+) */ Give more details about the usefulness of the statement&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_201510120640&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, so it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the scripts.&lt;br /&gt;
&lt;br /&gt;
If some error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), at this point PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a standard introductory screen for the install script and the software it&amp;#039;s about to install.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement will display the name of the software the install script is about to install, along with basic informations about it, and the name of the script author, in a standardized format. If some &amp;quot;left image&amp;quot; has been setup with &amp;#039;&amp;#039;&amp;#039;POL_GetSetupImages&amp;#039;&amp;#039;&amp;#039;, it will be displayed at the same time.&lt;br /&gt;
&lt;br /&gt;
This can be used right before the installation starts, so the user has one more chance to check what is about to be installed, and eventually cancel the installation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpuse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a free format introductory screen.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
In case the standardized format of &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_presentation&amp;#039;&amp;#039;&amp;#039; introductory screen does not fit the needs of the install script, this statement let you use any text you want instead. If some &amp;quot;left image&amp;quot; has been defined with &amp;#039;&amp;#039;&amp;#039;POL_GetSetupImages&amp;#039;&amp;#039;&amp;#039; statement, it will be displayed at the same time.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=848</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=848"/>
				<updated>2015-10-12T21:12:20Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_presentation (4.0+) */ Give a longer description of what the statement is used for&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_201510120640&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, so it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the scripts.&lt;br /&gt;
&lt;br /&gt;
If some error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), at this point PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a standard introductory screen for the install script and the software it&amp;#039;s about to install.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement will display the name of the software the install script is about to install, along with basic informations about it, and the name of the script author, in a standardized format. If some &amp;quot;left image&amp;quot; has been setup with &amp;#039;&amp;#039;&amp;#039;POL_GetSetupImages&amp;#039;&amp;#039;&amp;#039;, it will be displayed at the same time.&lt;br /&gt;
&lt;br /&gt;
This can be used right before the installation starts, so the user has one more chance to check what is about to be installed, and eventually cancel the installation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=847</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=847"/>
				<updated>2015-10-12T04:40:17Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_GetSetupImages (4.0+) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_201510120640&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, so it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the scripts.&lt;br /&gt;
&lt;br /&gt;
If some error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), at this point PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=How_to_Contribute_a_Script&amp;diff=846</id>
		<title>How to Contribute a Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=How_to_Contribute_a_Script&amp;diff=846"/>
				<updated>2015-10-12T04:33:40Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* What to do after you have tested your script */ Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== So, you have a script that you want to submit to PlayOnLinux? ==&lt;br /&gt;
&lt;br /&gt;
There are a few things that should be followed, as far as our standards for icons, resources for install scripts, posting here for help or submitting to us for publication, and info that make this process more standardized. &lt;br /&gt;
&lt;br /&gt;
== Static Checks ==&lt;br /&gt;
Even before running your script, you can test it for common (or not so common) mistakes using static analysers:&lt;br /&gt;
&lt;br /&gt;
- http://www.shellcheck.net/ detects Bash scripting issues; It&amp;#039;s not PlayOnLinux specific, but since PlayOnLinux scripts are a special case of Bash scripts, it can still be very useful;&lt;br /&gt;
&lt;br /&gt;
- git clone the [https://github.com/PlayOnLinux/PlayOnLinux_Tools PlayOnLinux Tools] repository and run the script_checker.sh (from the PlayOnLinux_ScriptChecker subdirectory) on your script; That one will detect several PlayOnLinux mistakes, specially deprecated style issues.&lt;br /&gt;
&lt;br /&gt;
== Testing, testing, testing ==&lt;br /&gt;
&lt;br /&gt;
It is very important that you test your scripts thoroughly &amp;#039;&amp;#039;&amp;#039;before&amp;#039;&amp;#039;&amp;#039; trying to contribute them to the actual system. Although, please do feel free to post your script in the forum if you need help or want a review of it. Scripts that obviously have not been tested (because of spelling/syntax errors, non-existent Wine versions, etc..) will not be accepted and will be deleted from the contribution section, requesting that the author post in the forums for help correcting the script. &lt;br /&gt;
&lt;br /&gt;
For instance, if your script has a WINEVERSION set to, say &amp;quot;4.2.3&amp;quot;, it is apparent that the script was never tested to work correctly, because that Wine version does not exist. Things like this will result in deletion of the Script Contribution entry, and you will be requested to post in the forums to get the script set up correctly. &lt;br /&gt;
&lt;br /&gt;
== Content of your posts in the forum (&amp;#039;&amp;#039;Your Creations&amp;#039;&amp;#039; section) ==&lt;br /&gt;
&lt;br /&gt;
Please use the following tips to help make the posts here more standardized: &lt;br /&gt;
&lt;br /&gt;
* Make the title of your post something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Script] name of script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Post the following information in your post in this order:&lt;br /&gt;
&lt;br /&gt;
# Description of the program (just a basic rundown of what it does)&lt;br /&gt;
# Anything you had to do or install OUTSIDE of Wine or PlayOnLinux to make it work&lt;br /&gt;
# Any extra notes about installation, or errors that it throws (if any)&lt;br /&gt;
# Contents of script&lt;br /&gt;
&lt;br /&gt;
== Screenshot requirements ==&lt;br /&gt;
&lt;br /&gt;
When submitting a screenshot, post them in your original post, reply to your own post with either the link to your screenshots, or just paste the screenshots into the post (we can download them and upload to our server.).&lt;br /&gt;
&lt;br /&gt;
Also, do not submit screenshots with your background or desktop. Full-screen, program-only screenshots, unless you are posting the screenshots for troubleshooting of a related issue. What this means:&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are only taking a screenshot of the program related to this script.&lt;br /&gt;
* Window decorations are OK, as long as the program is the main feature of the picture.&lt;br /&gt;
* No lewd, pornographic, or otherwise controversial screenshots of ANYTHING (this will result in negative action without question.).&lt;br /&gt;
* Be sure to take screenshots of the game ACTUALLY running; no install shots.&lt;br /&gt;
* Though 1 screenshot works, we prefer 2. 3 is what we really like to see.&lt;br /&gt;
* Legible, fairly hi-def shots; no fuzzy text, not stretched/smashed, not distorted.&lt;br /&gt;
&lt;br /&gt;
== Icons and install resources ==&lt;br /&gt;
&lt;br /&gt;
So, there are 4 different icons and pictures that are desired for the script. They are listed as follows with their EXACT dimensions and file type requirements:&lt;br /&gt;
&lt;br /&gt;
{{Warning|Do not forget to add the file extension to the name.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; The icon that will be used for the installed program: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: &amp;#039;&amp;#039;nameofprogram&amp;#039;&amp;#039;-48x48&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 48x48&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; The icon that will be used in the PlayOnLinux script list and the site: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: &amp;#039;&amp;#039;nameofprogram&amp;#039;&amp;#039;-22x22&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 22x22&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Sideways banner that is on the left side of the first window when script is ran: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: left.jpg (or left.png)&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 150x356 (W x H)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Top corner Icon for install script: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: top.jpg (or top.png)&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 64x64 (W x H)&lt;br /&gt;
&lt;br /&gt;
== What to do after you have tested your script ==&lt;br /&gt;
&lt;br /&gt;
After you have had your script on the forum, and its been verified to work, and the script is effective, clean, and portable, then submit in the following fashion:&lt;br /&gt;
&lt;br /&gt;
# Go to [https://www.playonlinux.com PlayOnLinux] or [https://www.playonmac.com PlayOnMac]&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Supported Software&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Add a program&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Enter the name of the script you want to publish&lt;br /&gt;
# Fill out the form as completely as you can&lt;br /&gt;
# After your submit that, click &amp;#039;&amp;#039;&amp;#039;Click here to see it&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# When you return to your page, click the &amp;#039;&amp;#039;&amp;#039;Contribute&amp;#039;&amp;#039;&amp;#039; button&lt;br /&gt;
# Enter in a description, and below the description form, click &amp;#039;&amp;#039;&amp;#039;I want to submit an improvement&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Copy/paste your script in that field, and click &amp;#039;&amp;#039;&amp;#039;Send&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Now your script is awaiting approval. A staff member will look at the script and either:&lt;br /&gt;
&lt;br /&gt;
* It will be approved, and will be then available in the POL/POM Install menu&lt;br /&gt;
* It will need improvements, which the staff member will inform you of. Then you just use the &amp;#039;&amp;#039;&amp;#039;Contribute&amp;#039;&amp;#039;&amp;#039; button to submit a new version of the script&lt;br /&gt;
* Your script will be deleted because it is empty, spam, a help request, or something else not related to that section&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=845</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=845"/>
				<updated>2015-10-11T19:56:37Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_Close (4.0+) */ wording fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, so it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the scripts.&lt;br /&gt;
&lt;br /&gt;
If some error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), at this point PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=844</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=844"/>
				<updated>2015-10-11T19:55:00Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_Close (4.0+) */ wording fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, so it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the script.&lt;br /&gt;
&lt;br /&gt;
If some error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), at this point PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=843</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=843"/>
				<updated>2015-10-11T19:54:04Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_Close (4.0+) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the script.&lt;br /&gt;
&lt;br /&gt;
If some statement error has been detected during the execution of the script by the embedded debugger (see &amp;quot;Debugging Commands&amp;quot; below), PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=842</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=842"/>
				<updated>2015-10-11T19:53:18Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_Close (4.0+) */  Add comment about automated bug reports&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the script.&lt;br /&gt;
&lt;br /&gt;
If some statement error has been detected during the execution of the script by the embedded debugger (see Debugger statements below), PlayOnLinux/PlayOnMac will offer the user to send an automated bug report, containing a log of the script execution, and any comments (s)he wants to add about the issue.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=841</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=841"/>
				<updated>2015-10-11T19:47:32Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_Init (4.0+) */ drop some double quotes, too many of them already&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few initialization statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the script. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=840</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=840"/>
				<updated>2015-10-11T19:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Try to flesh out POL_SetupWindow_Init/POL_SetupWindow_Close descriptions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Open the UI window that will be used by the PlayOnLinux installation wizard script.&lt;br /&gt;
&lt;br /&gt;
While few &amp;quot;initialization&amp;quot; statements must be run before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;, most statements expect the installation window to be opened to either display some progression feedback, or report error cases; So this statement should be used very near the beginning of scripts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Close the UI window; Well behaved installation scripts should use this statement before exiting. Since most statements expect the installation window to be opened to either display some progression feedback, it is recommended to use &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Close&amp;#039;&amp;#039;&amp;#039; as late as possible in the script. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=839</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=839"/>
				<updated>2015-10-11T19:33:16Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_GetSetupImages (4.0+) */  Fix formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=838</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=838"/>
				<updated>2015-10-11T19:31:24Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Try to flesh out POL_GetSetupImages statement description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download custom images that will be displayed during the installation wizard.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Optional --force option to override any cached images&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the cache directory where to store the images (usually $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To liven up installations, two images are currently displayed by PlayOnLinux/PlayOnMac installers:&lt;br /&gt;
- a 150 by 356 pixels image at the left of &amp;quot;presentation&amp;quot; introductory screen&lt;br /&gt;
- a 64 by 64 pixels &amp;quot;icon&amp;quot; image at the upper right corner for the remaining of the installation&lt;br /&gt;
Default images are normally displayed, but they can be replaced by custom images of the same resolution using this statement. Both JPEG and PNG file formats are supported, JPEG being the preferred format.&lt;br /&gt;
&lt;br /&gt;
Downloaded images will be stored in a cache to avoid repeated downloads. There&amp;#039;s no cache invalidation mechanism, so in case incorrect images may have been put into users&amp;#039; cache, you can:&lt;br /&gt;
- either preceed arguments with --force to override any cache content;&lt;br /&gt;
- change the name of the cache directory to a different value. Make sure you still use something unique to the script though, say &amp;quot;$TITLE_v2&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This statement must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=How_to_Contribute_a_Script&amp;diff=837</id>
		<title>How to Contribute a Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=How_to_Contribute_a_Script&amp;diff=837"/>
				<updated>2015-07-22T19:20:45Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Added static checks that can be done to verify scripts even before running them&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== So, you have a script that you want to submit to PlayOnLinux? ==&lt;br /&gt;
&lt;br /&gt;
There are a few things that should be followed, as far as our standards for icons, resources for install scripts, posting here for help or submitting to us for publication, and info that make this process more standardized. &lt;br /&gt;
&lt;br /&gt;
== Static Checks ==&lt;br /&gt;
Even before running your script, you can test it for common (or not so common) mistakes using static analysers:&lt;br /&gt;
&lt;br /&gt;
- http://www.shellcheck.net/ detects Bash scripting issues; It&amp;#039;s not PlayOnLinux specific, but since PlayOnLinux scripts are a special case of Bash scripts, it can still be very useful;&lt;br /&gt;
&lt;br /&gt;
- git clone the [https://github.com/PlayOnLinux/PlayOnLinux_Tools PlayOnLinux Tools] repository and run the script_checker.sh (from the PlayOnLinux_ScriptChecker subdirectory) on your script; That one will detect several PlayOnLinux mistakes, specially deprecated style issues.&lt;br /&gt;
&lt;br /&gt;
== Testing, testing, testing ==&lt;br /&gt;
&lt;br /&gt;
It is very important that you test your scripts thoroughly &amp;#039;&amp;#039;&amp;#039;before&amp;#039;&amp;#039;&amp;#039; trying to contribute them to the actual system. Although, please do feel free to post your script in the forum if you need help or want a review of it. Scripts that obviously have not been tested (because of spelling/syntax errors, non-existent Wine versions, etc..) will not be accepted and will be deleted from the contribution section, requesting that the author post in the forums for help correcting the script. &lt;br /&gt;
&lt;br /&gt;
For instance, if your script has a WINEVERSION set to, say &amp;quot;4.2.3&amp;quot;, it is apparent that the script was never tested to work correctly, because that Wine version does not exist. Things like this will result in deletion of the Script Contribution entry, and you will be requested to post in the forums to get the script set up correctly. &lt;br /&gt;
&lt;br /&gt;
== Content of your posts in the forum (&amp;#039;&amp;#039;Your Creations&amp;#039;&amp;#039; section) ==&lt;br /&gt;
&lt;br /&gt;
Please use the following tips to help make the posts here more standardized: &lt;br /&gt;
&lt;br /&gt;
* Make the title of your post something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Script] name of script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Post the following information in your post in this order:&lt;br /&gt;
&lt;br /&gt;
# Description of the program (just a basic rundown of what it does)&lt;br /&gt;
# Anything you had to do or install OUTSIDE of Wine or PlayOnLinux to make it work&lt;br /&gt;
# Any extra notes about installation, or errors that it throws (if any)&lt;br /&gt;
# Contents of script&lt;br /&gt;
&lt;br /&gt;
== Screenshot requirements ==&lt;br /&gt;
&lt;br /&gt;
When submitting a screenshot, post them in your original post, reply to your own post with either the link to your screenshots, or just paste the screenshots into the post (we can download them and upload to our server.).&lt;br /&gt;
&lt;br /&gt;
Also, do not submit screenshots with your background or desktop. Full-screen, program-only screenshots, unless you are posting the screenshots for troubleshooting of a related issue. What this means:&lt;br /&gt;
&lt;br /&gt;
* Make sure that you are only taking a screenshot of the program related to this script.&lt;br /&gt;
* Window decorations are OK, as long as the program is the main feature of the picture.&lt;br /&gt;
* No lewd, pornographic, or otherwise controversial screenshots of ANYTHING (this will result in negative action without question.).&lt;br /&gt;
* Be sure to take screenshots of the game ACTUALLY running; no install shots.&lt;br /&gt;
* Though 1 screenshot works, we prefer 2. 3 is what we really like to see.&lt;br /&gt;
* Legible, fairly hi-def shots; no fuzzy text, not stretched/smashed, not distorted.&lt;br /&gt;
&lt;br /&gt;
== Icons and install resources ==&lt;br /&gt;
&lt;br /&gt;
So, there are 4 different icons and pictures that are desired for the script. They are listed as follows with their EXACT dimensions and file type requirements:&lt;br /&gt;
&lt;br /&gt;
{{Warning|Do not forget to add the file extension to the name.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; The icon that will be used for the installed program: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: &amp;#039;&amp;#039;nameofprogram&amp;#039;&amp;#039;-48x48&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 48x48&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; The icon that will be used in the PlayOnLinux script list and the site: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: &amp;#039;&amp;#039;nameofprogram&amp;#039;&amp;#039;-22x22&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 22x22&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Sideways banner that is on the left side of the first window when script is ran: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: left.jpg (or left.png)&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 150x356 (W x H)&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Top corner Icon for install script: &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Name: top.jpg (or top.png)&lt;br /&gt;
* File Type: PNG, JPEG&lt;br /&gt;
* Size: 64x64 (W x H)&lt;br /&gt;
&lt;br /&gt;
== What to do after you have tested your script ==&lt;br /&gt;
&lt;br /&gt;
After you have had your script on the forum, and its been verified to work, and the script is effective, clean, and portable, then submit in the following fashion:&lt;br /&gt;
&lt;br /&gt;
# Go to [https://www.playonlinux.com PlayOnLinux] or [https://www.playonmac.com PlayOnMac]&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Supported Software&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Add a program&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Enter the name of the script you want to publish&lt;br /&gt;
# Fill out the form as completely as you can&lt;br /&gt;
# After your submit that, click &amp;#039;&amp;#039;&amp;#039;Click here to see it&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# When you return to your page, click the &amp;#039;&amp;#039;&amp;#039;Contribute&amp;#039;&amp;#039;&amp;#039; button&lt;br /&gt;
# Enter in a description, and below the description form, click &amp;#039;&amp;#039;&amp;#039;I want to submit an improvement&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Copy/paste your script script in that field, and click &amp;#039;&amp;#039;&amp;#039;Send&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Now your script is awaiting approval. A staff member will look at the script and either:&lt;br /&gt;
&lt;br /&gt;
* It will be approved, and will be then available in the POL/POM Install menu&lt;br /&gt;
* It will need improvements, which the staff member will inform you of. Then you just use the &amp;#039;&amp;#039;&amp;#039;Contribute&amp;#039;&amp;#039;&amp;#039; button to submit a new version of the script&lt;br /&gt;
* Your script will be deleted because it is empty, spam, a help request, or something else not related to that section&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=836</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=836"/>
				<updated>2015-07-04T18:06:36Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut (4.0+) */ After rereading the specs, it seems that category lists do not need to be terminated by &amp;quot;;&amp;quot; after all&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, the list separated (and optionally terminated) by semicolons (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=830</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=830"/>
				<updated>2015-06-18T13:13:44Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut (4.0+) */ Categories added in 4.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to (4.2+)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Main_Page&amp;diff=795</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Main_Page&amp;diff=795"/>
				<updated>2015-05-03T20:55:57Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Moved DOSBox support to &amp;quot;Advanced PlayOnLinux&amp;quot; section, still unsure it&amp;#039;s the best place&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the PlayOnLinux and PlayOnMac wiki. Here you will find tutorials regarding the use of PlayOnLinux or PlayOnMac, and explanations of their various features. You&amp;#039;ll also find guides explaining how to create installation scripts, a description of the commands available, API documentation, advanced topics, and more.&lt;br /&gt;
&lt;br /&gt;
For any additional questions that do not have an answer in this wiki, do not hesitate to go to the [https://www.playonlinux.com/en/forums.html forums].&lt;br /&gt;
&lt;br /&gt;
== User Documentation ==&lt;br /&gt;
* [[Installing PlayOnLinux]]&lt;br /&gt;
* [[Installing PlayOnMac]]&lt;br /&gt;
* [[First Use|Guide for first use of the software]]&lt;br /&gt;
* [[The Configuration Window|The Configuration Window]]&lt;br /&gt;
* [[The PlayOnLinux Filesystem|The PlayOnLinux Filesystem]]&lt;br /&gt;
* [[The PlayOnMac Filesystem|The PlayOnMac Filesystem]]&lt;br /&gt;
* [[Managing Wine Versions|Managing Wine Versions]]&lt;br /&gt;
* [[Manual Installations|Manual Installations]]&lt;br /&gt;
* [[Components and Functions|Components and Functions]]&lt;br /&gt;
* [[FAQ|Frequently Asked Questions]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* [[Troubleshooting Common Problems|Troubleshooting Common Problems]]&lt;br /&gt;
* [[Graphics Card Drivers|Graphics Card Drivers]]&lt;br /&gt;
* [[How to Read Debug Logs|How to Read Debug Logs]]&lt;br /&gt;
* [[Common Linux Libraries That Wine Might Need|Common Linux Libraries That Wine Might Need]]&lt;br /&gt;
&lt;br /&gt;
== The Forums, Bug Reports, and Script Contribution ==&lt;br /&gt;
* [[How to Post in the Forums|How to Post in the Forums]]&lt;br /&gt;
* [[How to Post a Bug Report|How to Post a Bug Report]]&lt;br /&gt;
* [[How to Contribute a Script|How to Contribute a Script]]&lt;br /&gt;
* [[How to Request a Patched Version of Wine|How to Request a Patched Version of Wine]]&lt;br /&gt;
&lt;br /&gt;
== Writing a script ==&lt;br /&gt;
* [[Scripting - Chapter 1: Getting to know Bash|Chapter 1: Getting to know Bash]]&lt;br /&gt;
* [[Scripting - Chapter 2: Basic Functions|Chapter 2: Basic Functions]]&lt;br /&gt;
* [[Scripting - Chapter 3: Variables|Chapter 3: Variables]]&lt;br /&gt;
* [[Scripting - Chapter 4: Conditions|Chapter 4: Conditions]]&lt;br /&gt;
* [[Scripting - Chapter 5: Wine|Chapter 5: Wine]]&lt;br /&gt;
* [[Scripting - Chapter 6: The Filesystem|Chapter 6: The Filesystem]]&lt;br /&gt;
* [[Scripting - Chapter 7: Installation Media|Chapter 7: Installation Media]]&lt;br /&gt;
* [[Scripting - Chapter 8: My First Real Script|Chapter 8: My First Real Script]]&lt;br /&gt;
* [[Scripting - Chapter 9: Standardization|Chapter 9: Standardization]]&lt;br /&gt;
* [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
* [[Scripting - Chapter 11: List of Functions|Chapter 11: List of Functions]]&lt;br /&gt;
== Glossary ==&lt;br /&gt;
* [[POL &amp;amp; POM Terminology|POL &amp;amp; POM Terminology]]&lt;br /&gt;
* [[Wine; what is it?|Wine; what is it?]]&lt;br /&gt;
&lt;br /&gt;
== Advanced PlayOnLinux ==&lt;br /&gt;
* [[How to move PlayOnLinux virtual drives to another disk|How to move PlayOnLinux virtual drives to another disk]]&lt;br /&gt;
* [[PlayOnLinux DOSBox support HOWTO]]&lt;br /&gt;
* [https://github.com/PlayOnLinux/POL-POM-4 PlayOnLinux/PlayOnMac source code]&lt;br /&gt;
* [https://github.com/PlayOnLinux/wine-patches Patch repository]&lt;br /&gt;
* [[Setting up WineASIO with PlayOnLinux|Setting up WineASIO with PlayOnLinux]]&lt;br /&gt;
&lt;br /&gt;
== Advanced PlayOnMac ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/PlayOnLinux/POL-POM-4 PlayOnLinux/PlayOnMac source code]&lt;br /&gt;
* [https://github.com/PlayOnLinux/wine-patches Patch repository]&lt;br /&gt;
&lt;br /&gt;
== Advanced Wine ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Wine-Wiki &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://wine-wiki.org/ Wine-wiki. Somewhat outdated, but covers a LOT of advanced Wine topics]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; WineHQ &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.winehq.org/devel/ Wine development links]&lt;br /&gt;
* [http://wiki.winehq.org/DeveloperFaq Wine developer FAQ]&lt;br /&gt;
* [https://www.winehq.org/docs/winedev-guide/index Wine developer&amp;#039;s guide]&lt;br /&gt;
* [http://wiki.winehq.org/Developers-Hints Wine developer hints]&lt;br /&gt;
* [http://wiki.winehq.org/HackingTips Wine hacking tips]&lt;br /&gt;
&lt;br /&gt;
== Advanced WineBuild ==&lt;br /&gt;
* [[Cross-compile Wine for OSX on Linux| How to cross-compile Wine for Mac OSX on Linux]]&lt;br /&gt;
* [https://github.com/PlayOnLinux/WineBuild POL&amp;#039;s WineBuild source code]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=PlayOnLinux_DOSBox_support_HOWTO&amp;diff=794</id>
		<title>PlayOnLinux DOSBox support HOWTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=PlayOnLinux_DOSBox_support_HOWTO&amp;diff=794"/>
				<updated>2015-05-03T20:53:44Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Some reformatting, one extra example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Taken from https://www.playonlinux.com/en/topic-8747-Ultima_123_GOGcom_Edition.html, &amp;quot;Friday 11 May 2012 at 10:43&amp;quot; message)&lt;br /&gt;
&lt;br /&gt;
To use the PlayOnLinux DOSBox support for a virtual drive,&lt;br /&gt;
&lt;br /&gt;
* First, you must use some &amp;quot;Wine version&amp;quot; with DOSBox support for your virtual disk, latest is currently &amp;#039;&amp;#039;&amp;#039;1.6.2-dos_support_0.6&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
* DOSBox will get default settings from this support. To override some, you&amp;#039;ll need to create a &amp;#039;&amp;#039;&amp;#039;$WINEPREFIX/playonlinux_dos.cfg&amp;#039;&amp;#039;&amp;#039; file; Lines must have the format:&lt;br /&gt;
&lt;br /&gt;
 sectionname_settingname=value&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
&lt;br /&gt;
 dosbox_memsize=16&lt;br /&gt;
&lt;br /&gt;
See DOSBox 0.74 documentation for valid section and setting names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Remark 1&amp;#039;&amp;#039;: this file will be sourced, so be sure to single quote values that could be interpreted by Bash; Example&lt;br /&gt;
 cpu_cycles=&amp;#039;max 95% limit 33000&amp;#039;&lt;br /&gt;
&amp;#039;&amp;#039;Remark 2&amp;#039;&amp;#039;: there&amp;#039;s a new set of functions &amp;#039;&amp;#039;&amp;#039;POL_Config_DosPrefixRead&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;POL_Config_DosPrefixWrite&amp;#039;&amp;#039;&amp;#039; / &amp;#039;&amp;#039;&amp;#039;POL_Config_DosPrefixDelete&amp;#039;&amp;#039;&amp;#039; to manage those files, but they only exist since &amp;#039;&amp;#039;&amp;#039;POL 4.0.18&amp;#039;&amp;#039;&amp;#039;, so if you use them you&amp;#039;ll also need to add &amp;#039;&amp;#039;&amp;#039;POL_RequiredVersion &amp;quot;4.0.18&amp;quot;&amp;#039;&amp;#039;&amp;#039; just after POL_SetupWindow_Init.&lt;br /&gt;
&lt;br /&gt;
* The C: drive will be mapped to the virtual disk root, and by default the support will try to map the same drives as the Wine environment. If you don&amp;#039;t want the latter, just C: mapping, you can add the pseudo-setting &lt;br /&gt;
&lt;br /&gt;
 manual_mount=true&lt;br /&gt;
&lt;br /&gt;
* If there&amp;#039;s an &amp;#039;&amp;#039;&amp;#039;autoexec.bat&amp;#039;&amp;#039;&amp;#039; file at the root of your virtual disk, it will be interpreted at the beginning of each DOSBox session in this virtual disk. It&amp;#039;s the recommended place to put mount and imgmount statements.&lt;br /&gt;
&lt;br /&gt;
* That should be enough to create working shortcuts on &amp;#039;&amp;#039;&amp;#039;exe&amp;#039;&amp;#039;&amp;#039; files in this virtual disk; The support can tell apart MS-DOS from Windows executables and start DOSBox when necessary.&lt;br /&gt;
&lt;br /&gt;
* You should also be able to create shortcuts on MS-DOS batch (&amp;#039;&amp;#039;&amp;#039;bat&amp;#039;&amp;#039;&amp;#039;) files if they start with an &amp;#039;&amp;#039;&amp;#039;@ECHO OFF&amp;#039;&amp;#039;&amp;#039; line so they&amp;#039;re recognized as such (by the &amp;quot;file&amp;quot; command actually). You&amp;#039;ll also probably want an &amp;#039;&amp;#039;&amp;#039;EXIT&amp;#039;&amp;#039;&amp;#039; statement at the end of batch files so the DOSBox window closes itself after program exit (unless debug mode is enabled for the shortcut).&lt;br /&gt;
&lt;br /&gt;
* If you have specific needs, like starting MS-DOS com files, or set shortcut-specific initializations, you can create extra batch files and make shortcut out of them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s mostly all there is to it. The fact that C: drive is always mapped to the root of the virtual disk sometimes requires some arrangements during installation, like moving some files around back into the root directory of the virtual disk. The Linux-to-DOSBox path translation (&amp;quot;shortizing&amp;quot;) in the support is not perfect; Another reason for further arrangements are subdirectories with similar prefix side-by-side, you may also have to give them standard MS-DOS names (8+3 characters) to work around this problem.&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=PlayOnLinux_DOSBox_support_HOWTO&amp;diff=793</id>
		<title>PlayOnLinux DOSBox support HOWTO</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=PlayOnLinux_DOSBox_support_HOWTO&amp;diff=793"/>
				<updated>2015-05-03T20:33:17Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: PlayOnLinux DOSBox support howto&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Taken from https://www.playonlinux.com/en/topic-8747-Ultima_123_GOGcom_Edition.html, &amp;quot;Friday 11 May 2012 at 10:43&amp;quot; message)&lt;br /&gt;
&lt;br /&gt;
* First, you must use some &amp;quot;Wine version&amp;quot; with dos support for your virtual disk, latest is currently &amp;#039;&amp;#039;&amp;#039;1.6.2-dos_support_0.6&amp;#039;&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
* DOSBox will get default settings from this support. To override some, you&amp;#039;ll need a &amp;#039;&amp;#039;&amp;#039;$WINEPREFIX/playonlinux_dos.cfg&amp;#039;&amp;#039;&amp;#039; file; Lines must have the format:&lt;br /&gt;
&lt;br /&gt;
 sectionname_settingname=value&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
&lt;br /&gt;
 dosbox_memsize=16&lt;br /&gt;
&lt;br /&gt;
See DOSBox 0.74 documentation for valid section and setting names.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Remark 1&amp;#039;&amp;#039;: this file will be sourced, so be sure to single quote values that could be interpreted by Bash;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Remark 2&amp;#039;&amp;#039;: there&amp;#039;s a new set of functions POL_Config_DosPrefixRead / POL_Config_DosPrefixWrite / POL_Config_DosPrefixDelete to manage those files, but they only exist since &amp;#039;&amp;#039;&amp;#039;POL 4.0.18&amp;#039;&amp;#039;&amp;#039;, so if you use them you&amp;#039;ll also need to add &amp;#039;&amp;#039;&amp;#039;POL_RequiredVersion &amp;quot;4.0.18&amp;quot;&amp;#039;&amp;#039;&amp;#039; just after POL_SetupWindow_Init.&lt;br /&gt;
&lt;br /&gt;
* The C: drive will be mapped to the virtual disk root, and by default the support will try to map the same drives as the Wine environment. If you don&amp;#039;t want the latter, just C: mapping, you can add the pseudo-setting &lt;br /&gt;
&lt;br /&gt;
 manual_mount=true&lt;br /&gt;
&lt;br /&gt;
* If there&amp;#039;s an &amp;#039;&amp;#039;&amp;#039;autoexec.bat&amp;#039;&amp;#039;&amp;#039; file at the root of your virtual disk, it will be interpreted at the beginning of each DOSBox session in this virtual disk. It&amp;#039;s the recommended place to put mount and imgmount statements.&lt;br /&gt;
&lt;br /&gt;
* That should be enough to create working shortcuts on &amp;#039;&amp;#039;&amp;#039;exe&amp;#039;&amp;#039;&amp;#039; files in this virtual disk; The support can tell apart MS-DOS from Windows executables and start DOSBox when necessary.&lt;br /&gt;
&lt;br /&gt;
* You should also be able to create shortcuts on MS-DOS batch (&amp;#039;&amp;#039;&amp;#039;bat&amp;#039;&amp;#039;&amp;#039;) files if they start with an &amp;#039;&amp;#039;&amp;#039;@ECHO OFF&amp;#039;&amp;#039;&amp;#039; line so they&amp;#039;re recognized as such (by the &amp;quot;file&amp;quot; command actually). You&amp;#039;ll also probably want an &amp;#039;&amp;#039;&amp;#039;EXIT&amp;#039;&amp;#039;&amp;#039; statement at the end of batch files so the DOSBox window closes itself after program exit (unless debug mode is enabled for the shortcut).&lt;br /&gt;
&lt;br /&gt;
* If you have specific needs, like starting MS-DOS com files, or set shortcut-specific initializations, you can create extra batch files and make shortcut out of them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s mostly all there is to it. The fact that C: drive is always mapped to the root of the virtual disk sometimes requires some arrangements during installation, like moving some files around back into the root directory of the virtual disk.&lt;br /&gt;
The Linux-to-DOSBox path translation (&amp;quot;shortizing&amp;quot;) in the support is not perfect; Another reason for further arrangements are subdirectories with similar prefix side-by-side, you may also have to give them standard MS-DOS names (8+3 characters) to work around this problem.&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Main_Page&amp;diff=792</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Main_Page&amp;diff=792"/>
				<updated>2015-05-03T20:19:53Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* Advanced PlayOnLinux */ Add (or try to add) DOSBox HOWTO link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the PlayOnLinux and PlayOnMac wiki. Here you will find tutorials regarding the use of PlayOnLinux or PlayOnMac, and explanations of their various features. You&amp;#039;ll also find guides explaining how to create installation scripts, a description of the commands available, API documentation, advanced topics, and more.&lt;br /&gt;
&lt;br /&gt;
For any additional questions that do not have an answer in this wiki, do not hesitate to go to the [https://www.playonlinux.com/en/forums.html forums].&lt;br /&gt;
&lt;br /&gt;
== User Documentation ==&lt;br /&gt;
* [[Installing PlayOnLinux]]&lt;br /&gt;
* [[Installing PlayOnMac]]&lt;br /&gt;
* [[First Use|Guide for first use of the software]]&lt;br /&gt;
* [[The Configuration Window|The Configuration Window]]&lt;br /&gt;
* [[The PlayOnLinux Filesystem|The PlayOnLinux Filesystem]]&lt;br /&gt;
* [[The PlayOnMac Filesystem|The PlayOnMac Filesystem]]&lt;br /&gt;
* [[Managing Wine Versions|Managing Wine Versions]]&lt;br /&gt;
* [[Manual Installations|Manual Installations]]&lt;br /&gt;
* [[Components and Functions|Components and Functions]]&lt;br /&gt;
* [[FAQ|Frequently Asked Questions]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* [[Troubleshooting Common Problems|Troubleshooting Common Problems]]&lt;br /&gt;
* [[Graphics Card Drivers|Graphics Card Drivers]]&lt;br /&gt;
* [[How to Read Debug Logs|How to Read Debug Logs]]&lt;br /&gt;
* [[Common Linux Libraries That Wine Might Need|Common Linux Libraries That Wine Might Need]]&lt;br /&gt;
&lt;br /&gt;
== The Forums, Bug Reports, and Script Contribution ==&lt;br /&gt;
* [[How to Post in the Forums|How to Post in the Forums]]&lt;br /&gt;
* [[How to Post a Bug Report|How to Post a Bug Report]]&lt;br /&gt;
* [[How to Contribute a Script|How to Contribute a Script]]&lt;br /&gt;
* [[How to Request a Patched Version of Wine|How to Request a Patched Version of Wine]]&lt;br /&gt;
&lt;br /&gt;
== Writing a script ==&lt;br /&gt;
* [[Scripting - Chapter 1: Getting to know Bash|Chapter 1: Getting to know Bash]]&lt;br /&gt;
* [[Scripting - Chapter 2: Basic Functions|Chapter 2: Basic Functions]]&lt;br /&gt;
* [[Scripting - Chapter 3: Variables|Chapter 3: Variables]]&lt;br /&gt;
* [[Scripting - Chapter 4: Conditions|Chapter 4: Conditions]]&lt;br /&gt;
* [[Scripting - Chapter 5: Wine|Chapter 5: Wine]]&lt;br /&gt;
* [[Scripting - Chapter 6: The Filesystem|Chapter 6: The Filesystem]]&lt;br /&gt;
* [[Scripting - Chapter 7: Installation Media|Chapter 7: Installation Media]]&lt;br /&gt;
* [[Scripting - Chapter 8: My First Real Script|Chapter 8: My First Real Script]]&lt;br /&gt;
* [[Scripting - Chapter 9: Standardization|Chapter 9: Standardization]]&lt;br /&gt;
* [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
* [[Scripting - Chapter 11: List of Functions|Chapter 11: List of Functions]]&lt;br /&gt;
[[PlayOnLinux DOSBox support HOWTO]]&lt;br /&gt;
&lt;br /&gt;
== Glossary ==&lt;br /&gt;
* [[POL &amp;amp; POM Terminology|POL &amp;amp; POM Terminology]]&lt;br /&gt;
* [[Wine; what is it?|Wine; what is it?]]&lt;br /&gt;
&lt;br /&gt;
== Advanced PlayOnLinux ==&lt;br /&gt;
* [[How to move PlayOnLinux virtual drives to another disk|How to move PlayOnLinux virtual drives to another disk]]&lt;br /&gt;
* [https://github.com/PlayOnLinux/POL-POM-4 PlayOnLinux/PlayOnMac source code]&lt;br /&gt;
* [https://github.com/PlayOnLinux/wine-patches Patch repository]&lt;br /&gt;
* [[Setting up WineASIO with PlayOnLinux|Setting up WineASIO with PlayOnLinux]]&lt;br /&gt;
&lt;br /&gt;
== Advanced PlayOnMac ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/PlayOnLinux/POL-POM-4 PlayOnLinux/PlayOnMac source code]&lt;br /&gt;
* [https://github.com/PlayOnLinux/wine-patches Patch repository]&lt;br /&gt;
&lt;br /&gt;
== Advanced Wine ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Wine-Wiki &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [http://wine-wiki.org/ Wine-wiki. Somewhat outdated, but covers a LOT of advanced Wine topics]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; WineHQ &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* [https://www.winehq.org/devel/ Wine development links]&lt;br /&gt;
* [http://wiki.winehq.org/DeveloperFaq Wine developer FAQ]&lt;br /&gt;
* [https://www.winehq.org/docs/winedev-guide/index Wine developer&amp;#039;s guide]&lt;br /&gt;
* [http://wiki.winehq.org/Developers-Hints Wine developer hints]&lt;br /&gt;
* [http://wiki.winehq.org/HackingTips Wine hacking tips]&lt;br /&gt;
&lt;br /&gt;
== Advanced WineBuild ==&lt;br /&gt;
* [[Cross-compile Wine for OSX on Linux| How to cross-compile Wine for Mac OSX on Linux]]&lt;br /&gt;
* [https://github.com/PlayOnLinux/WineBuild POL&amp;#039;s WineBuild source code]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Installing_PlayOnLinux&amp;diff=789</id>
		<title>Installing PlayOnLinux</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Installing_PlayOnLinux&amp;diff=789"/>
				<updated>2015-05-01T07:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Move Mac specific instructions to PlayOnMac page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PlayOnLinux is available in the repositories of a lot of distributions, but with the exception of pacman, the versions found in these repositories are rarely the latest versions available. We genuinely encourage every use to use the latest version possible, as many things can change between releases. &lt;br /&gt;
&lt;br /&gt;
You will find below the three methods that you are offered to install PlayOnLinux on your machine.&lt;br /&gt;
&lt;br /&gt;
=== Distribution Repository ===&lt;br /&gt;
&lt;br /&gt;
This method is probably the one that most users will use first. It has the advantage that it will provide generally a package approved by your distribution and thus generally better integrated with your OS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this method is not guaranteed to have the most updated version of the software. As for that, the updates on the repositories are not maintained by the PlayOnLinux team. It is because of this that distribution repository version are delayed by one or two revision. This may have the negative effect of not being able to properly use the tools that interact with the site (eg uploading of error reporting).&lt;br /&gt;
&lt;br /&gt;
We urge you to follow instead the following method that guarantees you always use an updated software.&lt;br /&gt;
&lt;br /&gt;
=== Following the guide on the site ===&lt;br /&gt;
&lt;br /&gt;
You will find on the site a &amp;quot;Download&amp;quot; section. This section explains how to install PlayOnLinux on your machine while ensuring that you always use the software to its latest stable version.&lt;br /&gt;
&lt;br /&gt;
Users using pacman will still have the latest version available. However, for other distributions, it is recommended to add the repo for PlayOnLinux in your repository list. To do this, just follow the information for your distribution.&lt;br /&gt;
&lt;br /&gt;
For users&amp;#039; Debian wheezy &amp;#039;&amp;#039; and &amp;#039;&amp;#039; Ubuntu Precise (and higher), &amp;#039;&amp;#039; they&amp;#039;ll need to install the i386 version of Wine. For this, we must enable support for i386 in your repository manager.&lt;br /&gt;
&lt;br /&gt;
==== On Debian wheezy ====&lt;br /&gt;
&lt;br /&gt;
To install wine:i386 Debian, you must first enable support for this architecture (with dpkg). You can then update the repository and install wine:i386&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo dpkg --add-i386&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install wine:i386&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== On Ubuntu Precise (and higher) ====&lt;br /&gt;
&lt;br /&gt;
To install wine:i386 on Ubuntu, you must first enable support for this architecture (with dpkg configuration file). You can then update the repository and install wine:i386&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;#039;code bash&amp;#039;&amp;gt;&lt;br /&gt;
sudo echo &amp;quot;foreign-i386 architecture&amp;quot;&amp;gt; /etc/dpkg/dpkg.cfg.d/multiarch&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install wine:i386&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using GIT Version ===&lt;br /&gt;
&lt;br /&gt;
The git version can always have the updated program. It is only recommended for advanced users and programmers. It has the advantage of providing automatic update button, unlike other version of the program. To install it on your computer, you must install and configure git. Once this is done, you can download PlayOnLinux using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;#039;code bash&amp;#039;&amp;gt;&lt;br /&gt;
git clone https://github.com/PlayOnLinux/POL-POM-4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|This command will download the program to your current folder. Consider making use of &amp;#039;cd&amp;#039; before running the command to get to where you want the files to be downloaded to. }}Unlike package installations, this method won&amp;#039;t install PlayOnLinux system-wide; To run the development version you&amp;#039;ll have to run the &amp;quot;playonlinux&amp;quot; script found in the root directory of the cloned repository.&lt;br /&gt;
&lt;br /&gt;
=== Next? ===&lt;br /&gt;
&lt;br /&gt;
Now that you have installed on your computer PlayOnLinux, I suggest you to read our [[First Use| guide for first use of the software]] who will explain the basics to know to install and uninstall Windows programs with PlayOnLinux.&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Installing_PlayOnMac&amp;diff=788</id>
		<title>Installing PlayOnMac</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Installing_PlayOnMac&amp;diff=788"/>
				<updated>2015-05-01T07:34:02Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* Installation */ Move Mac specific instructions to PlayOnMac page ;)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PlayOnMac installs on your computer is extremely easy. All you have to do is follow these four small steps that are described in the following section.&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
# Go [http://www.playonmac.com/fr/download.html the download page PlayOnMac]&lt;br /&gt;
# Download the latest version of PlayOnMac&lt;br /&gt;
# Once download, install &amp;#039;PlayOnMac_X.XXdmg&amp;#039; &amp;#039;on your desktop (double click on the file)&lt;br /&gt;
# You will find inside an uninstall software (to remove PlayOnMac your computer) and the software. You simply drag / drop it in your &amp;#039;&amp;#039; Applications &amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===  Using GIT Version ===&lt;br /&gt;
&lt;br /&gt;
The git version can always have the updated program. It is only recommended for advanced users and programmers. It has the advantage of providing automatic update button, unlike other version of the program. To install it on your computer, you must install and configure git. Once this is done, you can download PlayOnMac using the following command:&lt;br /&gt;
&lt;br /&gt;
 git clone https://github.com/PlayOnLinux/POL-POM-4&lt;br /&gt;
&lt;br /&gt;
{{Info|This command will download the program to your current folder. Consider making use of &amp;#039;cd&amp;#039; before running the command to get to where you want the files to be downloaded to. }}Unlike packaged installation, this method won&amp;#039;t install PlayOnMac system-wide&lt;br /&gt;
&lt;br /&gt;
{{Info|On Mac, the easier way to use the development version is to first deploy a stable version of PlayOnMac, then to replace /Applications/PlayOnMac.app/Contents/Resources/playonlinux folder with a clone of the git repository.}}&lt;br /&gt;
&lt;br /&gt;
=== Next? ===&lt;br /&gt;
Now that you have installed on your computer PlayOnMac, I suggest you to read our [[First Use| guide for first use of the software]] who will explain the basics to know to install and uninstall Windows programs with PlayOnMac.&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=759</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=759"/>
				<updated>2015-04-14T01:20:23Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut_InsertBeforeWine (4.0+) */ Added POL_Shortcut_QuietDebug&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_QuietDebug (4.0.17+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Avoid displaying &amp;quot;This program may have crashed&amp;quot; dialog box when the program launched by a shortcut exits with a non-zero exitcode.&lt;br /&gt;
&lt;br /&gt;
This is a bandaid for programs exiting with meaningless exitcodes, as it sometimes happens since it&amp;#039;s of little consequence under Windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_QuietDebug &amp;quot;Sam and Max S2E1: Ice Station Santa&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=758</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=758"/>
				<updated>2015-04-12T20:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_VMS (4.0+) */ wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached so that it doesn&amp;#039;t need to be asked again during the next installations. In case of mistake, or if the amount of video memory changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=757</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=757"/>
				<updated>2015-04-12T20:37:30Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_VMS (4.0+) */ Better describe this statement behavior&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of onboard video memory required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has, since it is actually very difficult to determine this value in a portable way.&lt;br /&gt;
&lt;br /&gt;
If the value is lower than the minimum argument value, the user is warned that the program being installed is likely not to work correctly. In all cases, the script goes on and the value is written in the Wine registry.&lt;br /&gt;
&lt;br /&gt;
The user reply is cached in the global PlayOnLinux configuration, so the user is not asked again during next installations. In case of mistake, or if this value changes, the cached value can be erased by opening the PlayOnLinux console, and typing &amp;quot;POL_Config_Delete VMS&amp;quot; (for a lack of GUI support at the moment).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Installing_PlayOnLinux&amp;diff=756</id>
		<title>Installing PlayOnLinux</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Installing_PlayOnLinux&amp;diff=756"/>
				<updated>2015-04-12T09:53:45Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* Using GIT Version */ Some details about usage of cloned repositories on Linux and Mac&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PlayOnLinux is available in the repositories of a lot of distributions, but with the exception of pacman, the versions found in these repositories are rarely the latest versions available. We genuinely encourage every use to use the latest version possible, as many things can change between releases. &lt;br /&gt;
&lt;br /&gt;
You will find below the three methods that you are offered to install PlayOnLinux on your machine.&lt;br /&gt;
&lt;br /&gt;
=== Distribution Repository ===&lt;br /&gt;
&lt;br /&gt;
This method is probably the one that most users will use first. It has the advantage that it will provide generally a package approved by your distribution and thus generally better integrated with your OS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this method is not guaranteed to have the most updated version of the software. As for that, the updates on the repositories are not maintained by the PlayOnLinux team. It is because of this that distribution repository version are delayed by one or two revision. This may have the negative effect of not being able to properly use the tools that interact with the site (eg uploading of error reporting).&lt;br /&gt;
&lt;br /&gt;
We urge you to follow instead the following method that guarantees you always use an updated software.&lt;br /&gt;
&lt;br /&gt;
=== Following the guide on the site ===&lt;br /&gt;
&lt;br /&gt;
You will find on the site a &amp;quot;Download&amp;quot; section. This section explains how to install PlayOnLinux on your machine while ensuring that you always use the software to its latest stable version.&lt;br /&gt;
&lt;br /&gt;
Users using pacman will still have the latest version available. However, for other distributions, it is recommended to add the repo for PlayOnLinux in your repository list. To do this, just follow the information for your distribution.&lt;br /&gt;
&lt;br /&gt;
For users&amp;#039; Debian wheezy &amp;#039;&amp;#039; and &amp;#039;&amp;#039; Ubuntu Precise (and higher), &amp;#039;&amp;#039; they&amp;#039;ll need to install the i386 version of Wine. For this, we must enable support for i386 in your repository manager.&lt;br /&gt;
&lt;br /&gt;
==== On Debian wheezy ====&lt;br /&gt;
&lt;br /&gt;
To install wine:i386 Debian, you must first enable support for this architecture (with dpkg). You can then update the repository and install wine:i386&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo dpkg --add-i386&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install wine:i386&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== On Ubuntu Precise (and higher) ====&lt;br /&gt;
&lt;br /&gt;
To install wine:i386 on Ubuntu, you must first enable support for this architecture (with dpkg configuration file). You can then update the repository and install wine:i386&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;#039;code bash&amp;#039;&amp;gt;&lt;br /&gt;
sudo echo &amp;quot;foreign-i386 architecture&amp;quot;&amp;gt; /etc/dpkg/dpkg.cfg.d/multiarch&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install wine:i386&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using GIT Version ===&lt;br /&gt;
&lt;br /&gt;
The git version can always have the updated program. It is only recommended for advanced users and programmers. It has the advantage of providing automatic update button, unlike other version of the program. To install it on your computer, you must install and configure git. Once this is done, you can download PlayOnLinux using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;#039;code bash&amp;#039;&amp;gt;&lt;br /&gt;
git clone https://github.com/PlayOnLinux/POL-POM-4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info|This command will download the program to your current folder. Consider making use of &amp;#039;cd&amp;#039; before running the command to get to where you want the files to be downloaded to. }}Unlike package installations, this method won&amp;#039;t install PlayOnLinux system-wide; To run the development version you&amp;#039;ll have to run the &amp;quot;playonlinux&amp;quot; script found in the root directory of the cloned repository.&lt;br /&gt;
&lt;br /&gt;
{{Info|On Mac, the easier way to use the development version is to first deploy a stable version of PlayOnMac, then to replace /Applications/PlayOnMac.app/Contents/Resources/playonlinux folder with a clone of the git repository.}}&lt;br /&gt;
&lt;br /&gt;
=== Next? ===&lt;br /&gt;
&lt;br /&gt;
Now that you have installed on your computer PlayOnLinux, I suggest you to read our [[First Use| guide for first use of the software]] who will explain the basics to know to install and uninstall Windows programs with PlayOnLinux.&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Talk:Scripting_-_Chapter_11:_List_of_Functions&amp;diff=743</id>
		<title>Talk:Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Talk:Scripting_-_Chapter_11:_List_of_Functions&amp;diff=743"/>
				<updated>2015-03-29T12:30:31Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Remove &amp;quot;check_one - POL_SetupWindow_missing&amp;quot; since they&amp;#039;re obsolete?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Remove &amp;quot;check_one - POL_SetupWindow_missing&amp;quot; since they&amp;#039;re obsolete?&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=742</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=742"/>
				<updated>2015-03-29T12:27:34Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Wine_OverrideDLL_App (4.0+) */ Quote accepted values to lift ambiguities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=741</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=741"/>
				<updated>2015-03-29T12:27:00Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Wine_OverrideDLL (4.0+) */ Quote accepted values to lift ambiguities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;native&amp;quot;, &amp;quot;builtin&amp;quot;, &amp;quot;native,builtin&amp;quot;, &amp;quot;builtin,native&amp;quot;, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=740</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=740"/>
				<updated>2015-03-29T12:25:35Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Document the version each statement appeared in&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing (4.0-4.1.1) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document (4.0.15+) ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call (4.0+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS (4.0+) ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv (4.0.14+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore (4.0.15+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal (4.0+) ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=739</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=739"/>
				<updated>2015-03-29T10:37:09Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_AdvisedVersion (4.0.15+) */ Fix example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 NEEDED=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $NEEDED || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $NEEDED\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=738</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=738"/>
				<updated>2015-03-29T10:34:31Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_RequiredVersion (4.0.15+) */ Fix example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 VERSION=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $VERSION || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=737</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=737"/>
				<updated>2015-03-29T10:32:31Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_RequiredVersion (4.0.15+) */  Document POL_AdvisedVersion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 VERSION=4.0.18&lt;br /&gt;
 POL_RequiredVersion $VERSION || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_AdvisedVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Very similar to POL_RequiredVersion (see POL_RequiredVersion), but do not stop the script execution after having alerted the user.&lt;br /&gt;
&lt;br /&gt;
The script should be able to run on older versions of PlayOnLinux/PlayOnMac, even if in some kind of degraded mode.&lt;br /&gt;
&lt;br /&gt;
All remarks about POL_RequiredVersion apply; If you use both in the same script, put POL_RequiredVersion first.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 VERSION=4.0.18&lt;br /&gt;
 POL_AdvisedVersion $VERSION || POL_Debug_Message &amp;quot;$TITLE works better with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=736</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=736"/>
				<updated>2015-03-29T10:25:41Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut */ Add POL_RequiredVersion. For each statement the PoL version they appeared in should now be documented...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_RequiredVersion (4.0.15+) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Checks that the user is running a version of PlayOnLinux/PlayOnMac that is at least equal to the version provided as argument; If not, stops the script execution while alerting the user that (s)he needs to upgrade to run the script.&lt;br /&gt;
&lt;br /&gt;
This is very useful to put near the top of scripts that use statements of features that only appeared in a relatively version of PlayOnLinux/PlayOnMac.&lt;br /&gt;
&lt;br /&gt;
Remarks:&lt;br /&gt;
* The sweet spot to place POL_RequiredVersion is between POL_SetupWindow_Init (the interface must be ready to display a user warning) and POL_Debug_Init (so that the usage of an old version of PlayOnLinux/PlayOnMac does not trigger all the embedded debugger/bug reporting workflow);&lt;br /&gt;
* While POL_RequiredVersion can display warnings on its own, it itself only appeared in PlayOnLinux 4.0.15, and PlayOnLinux 4.0.14 is still the default in some distributions; So for the time being, it is recommended to complement it with a check that the statement itself exists, as shown in the example below.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_SetupWindow_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_RequiredVersion 4.0.18 || POL_Debug_Fatal &amp;quot;$TITLE won&amp;#039;t work with $APPLICATION_TITLE $VERSION\nPlease update&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=735</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=735"/>
				<updated>2015-03-29T10:07:47Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Download */ Document POL_Download_Resource&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Download_Resource ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# Expected MD5 digest of the downloaded file &lt;br /&gt;
# (Optional) Subfolder to download the file to &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to the local file cache, if not already present. The file will be created in $POL_USER_ROOT/ressources directory (unless some subfolder is provided, in which case it will be created under $POL_USER_ROOT/ressources/&amp;lt;subfolder&amp;gt;, creating the subfolder if needed), and named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
Contrary to POL_Download, the MD5 digest is mandatory for POL_Download_Resource, as it will not only be used to validate the download (see POL_Download), but is also used, if some file already exists in the cache, to check that it has the expected content.&lt;br /&gt;
&lt;br /&gt;
Beware that files stored in the cache will potentially stay there for a very long time, since PlayOnLinux never does any kind of cache cleanup, based on time or size; So you should only use POL_Download_Resource for files that are likely to be reused, possibly because they&amp;#039;re necessary for several install scripts. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download_Resource &amp;quot;http://downloads.sourceforge.net/ffdshow-tryout/ffdshow_beta7_rev3154_20091209.exe&amp;quot; &amp;quot;c3f75f29521f749f9c9fc5489544cb04&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=734</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=734"/>
				<updated>2015-03-29T09:55:12Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Browser */ Document POL_Download (I think it was used in the tutorial but was missing from the list of functions?)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens a URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Download ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to download.&lt;br /&gt;
# (Optional) Expected MD5 digest of the downloaded file &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download a URL to a local file. The file will be created in the current directory, named after the last component of the URL.&lt;br /&gt;
&lt;br /&gt;
If an expected MD5 digest is provided (recommended), the downloaded file will then be run thru the MD5 digest algorithm, and the result compared to the expected value. If they differ, it will be assumed the download broke and the user will be asked if (s)he wants the download to be reattempted.&lt;br /&gt;
&lt;br /&gt;
This is a very effective way to ensure that the downloaded content is the expected one, however some URLs lead to resources that are very often updated, in which case providing an up-to-date MD5 digest can be impractical. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Download &amp;quot;http://repository.playonlinux.com/divers/QuickTime.qtp&amp;quot; &amp;quot;417f9bf5ec52d3bfa5826b4905658dac&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=733</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=733"/>
				<updated>2015-03-27T17:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_SetupWindow_check_cdrom */ Document $CDROM_SETUP, as it&amp;#039;s used in several scripts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# 1, 2, etc. List of files that should be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check, in order, if the files specified exist on the CD/DVD. If one is found, $CDROM_SETUP is set to the file path, and the script continues;&lt;br /&gt;
&lt;br /&gt;
Otherwise, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens an URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=696</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=696"/>
				<updated>2015-03-22T17:37:35Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut */ Fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# File that must be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check that the file specified exists on the CD/DVD. If it doesn&amp;#039;t, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translates the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of its name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens an URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=695</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=695"/>
				<updated>2015-03-22T17:36:49Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut */ Document behavior when a path is specified&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# File that must be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check that the file specified exists on the CD/DVD. If it doesn&amp;#039;t, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. If some path is specified before the executable filename, it will be interpreted relative to the &amp;quot;drive_c&amp;quot; subdirectory of the prefix. Note that Wine, like Windows, translated the name of the &amp;quot;Program Files&amp;quot; directory according to the user locale, so you should always use the special variable $PROGRAMFILES instead of the name in your own locale.&lt;br /&gt;
&lt;br /&gt;
If no path is specified (recommended), the executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens an URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=694</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=694"/>
				<updated>2015-03-22T17:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut_InsertBeforeWine */ Add POL_Shortcut_Document&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# File that must be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check that the file specified exists on the CD/DVD. If it doesn&amp;#039;t, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. The executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_Document ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Path to some documentation file&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Link some documentation file to an existing PlayOnLinux shortcut; The documentation will be available using Right-click on shortcut &amp;gt; Read the manual.&lt;br /&gt;
&lt;br /&gt;
Document file is looked up using the same rules POL_Shortcut uses to find executables.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Shortcut_Document &amp;quot;$TITLE&amp;quot; &amp;quot;README.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens an URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=693</id>
		<title>Scripting - Chapter 11: List of Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_11:_List_of_Functions&amp;diff=693"/>
				<updated>2015-03-22T17:14:39Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: /* POL_Shortcut */ Detail POL_Shortcut behavior, document new 5th argument (categories)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Legend of colour for the arguments ==&lt;br /&gt;
* &amp;#039;&amp;#039;Colours not currently showing up right now. They will be added soon.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Red: Required argument.&lt;br /&gt;
&lt;br /&gt;
Orange : Required argument if further arguments are present, but can be left empty (&amp;quot;&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Blue : Optional argument, but in some cases required.&lt;br /&gt;
&lt;br /&gt;
Green : Optional argument.&lt;br /&gt;
&lt;br /&gt;
== Start and stop the graphical interface ==&lt;br /&gt;
&lt;br /&gt;
=== POL_GetSetupImages ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL of top image.&lt;br /&gt;
# URL of left image.&lt;br /&gt;
# Name of the directory where to store the images (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download top and left images of the script from the PlayOnLinux site.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Must be used before &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_GetSetupImages &amp;quot;http://files.playonlinux.com/resources/setups/AC2/top.jpg&amp;quot; &amp;quot;http://files.playonlinux.com/resources/setups/AC2/left.jpg&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_Close ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Closes the installation wizard window.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux graphical interface ==&lt;br /&gt;
&lt;br /&gt;
{{Warning|All the functions below need the command POL_SetupWindow_Init to be executed beforehand.}}&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Software publisher.&lt;br /&gt;
# Site of the publisher.&lt;br /&gt;
# Script author.&lt;br /&gt;
# Prefix name (usually $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;SuperPlumus and NSLW&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_free_presentation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Software name (often $TITLE).&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Present the software with more freedom than POL_SetupWindow_presentation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_free_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Welcome to Mozilla Firefox installation wizard.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Hello world!&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== check_one - POL_SetupWindow_missing ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for check_one:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program that must be present.&lt;br /&gt;
# Package that contains this program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check the availability of one or more programs required by the script.&lt;br /&gt;
&lt;br /&gt;
Call check_one as many times as needed (once per program), then use POL_SetupWindow_missing.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
check_one &amp;quot;p7zip&amp;quot; &amp;quot;p7zip&amp;quot;&lt;br /&gt;
POL_SetupWindow_missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_file ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display the content of a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_file &amp;quot;Changelog&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/changelog.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_licence ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# File to display.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_file, but adds an &amp;quot;I agree&amp;quot; checkbox.&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_licence &amp;quot;Licence:&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;$POL_System_TmpDir/licence.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_pulsebar - POL_SetupWindow_pulse - POL_SetupWindow_set_text ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulsebar:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_pulse:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Percentage.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments for POL_SetupWindow_set_text:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Current text.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a progression bar, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulsebar display the progression bar.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_pulse changes the progression value, from 0 to 100%.&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_set_text modifies the current message (different from POL_SetupWindow_pulsebar message).&lt;br /&gt;
&lt;br /&gt;
Useful for displaying licenses.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_pulsebar &amp;quot;Installing patchs 1 to 5.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 1 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch1.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;20&amp;quot; # meaning 20%&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 2 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch2.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;40&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 3 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch3.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;60&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 4 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch4.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_set_text &amp;quot;Installation of patch 5 in progress&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$POL_System_TmpDir/patch5.exe&amp;quot;&lt;br /&gt;
POL_SetupWindow_pulse &amp;quot;100&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_wait ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display an indeterminate progress bar.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Please wait&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display some window asking the user to type in something.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox &amp;quot;Votre pseudo :&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_textbox_multiline ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to POL_SetupWindow_textbox, but typing happens on several lines.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
What the user typed is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_textbox_multiline &amp;quot;Enter a description for the program&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_browse ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Default value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path of the file selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Please select the program.&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_question ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask a question to the user (that can be answered by Yes or No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Answer is returned in the $APP_ANSWER variable (TRUE for Yes, FALSE for No).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_question &amp;quot;Message&amp;quot; &amp;quot;Title&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Display a menu to the user, asking him to select one entry among the choices provided.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_num ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu except that instead of returning the name of the selected choice (Red for example), it returns the position of the selected choice in the list, as a number (0 being the 1st choice).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_num &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$APP_ANSWER will contain 0 if the user selected Red, 1 for Green, or 2 for Blue.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_menu_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
# Default choice.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Similar to the command POL_SetupWindow_menu but displays a drop-down list.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_menu_list &amp;quot;What&amp;#039;s your favorite color?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_checkbox_list ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
# Title (often $TITLE).&lt;br /&gt;
# Available choices.&lt;br /&gt;
# Separator character (often ~ or -).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Show a list of options and checkboxen to the user, asking him to select the option(s) he wants.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The option(s) selected by the user are returned in the $APP_ANSWER variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_checkbox_list &amp;quot;What are your favorite colors?&amp;quot; &amp;quot;$TITLE&amp;quot; &amp;quot;Red~Green~Blue&amp;quot; &amp;quot;~&amp;quot;&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Red&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Red was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Green&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Green was selected&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$(echo $APP_ANSWER | grep -o &amp;quot;Blue&amp;quot;)&amp;quot; != &amp;quot;&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # Blue was selected&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to select a loaded CD/DVD.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The path to the drive selected by the user is returned in the $CDROM variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_cdrom&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_check_cdrom ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# File that must be present.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check that the file specified exists on the CD/DVD. If it doesn&amp;#039;t, execute POL_SetupWindow_cdrom again.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Should be used right after POL_SetupWindow_cdrom.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_check_cdrom &amp;quot;Data/32_icon.ico&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_InstallMethod ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Comma separated list of installation methods available.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user want installation method he wants, among the available choices.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Available installation methods:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;LOCAL, CD, DVD, DOWNLOAD, STEAM, STEAM_DEMO.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The choice selected by the user is returned in the $INSTALL_METHOD variable.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,CD,STEAM&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable filename.&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Optional name of the icon to download from PlayOnLinux website.&lt;br /&gt;
# Optional executable arguments.&lt;br /&gt;
# Optional list of categories the program belongs to&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Create a launcher in PlayOnLinux. The executable filename is looked up using a case insensitive [http://linux.die.net/man/7/glob glob] search, so you can use wildcards as needed; On the other hand if the program filename contains special characters they may require quoting to avoid being interpreted as wildcards.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux can also create entries in system menus, but only if category(ies) is(are) provided. The list of valid categories can be found on freedesktop.org site (see [http://standards.freedesktop.org/menu-spec/latest/apa.html main] and [http://standards.freedesktop.org/menu-spec/latest/apas02.html additional] categories). More than one category can be provided, but in all cases each category must be terminated by a semicolon (;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Shortcut_InsertBeforeWine ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Launcher name (often $TITLE).&lt;br /&gt;
# Command to add.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Allows to run an extra command each time a program will be about to start.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Shortcut_InsertBeforeWine &amp;quot;Jedi Knight II&amp;quot; &amp;quot;export __GL_ExtensionStringVersion=17700&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Browser ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# URL to open.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Opens an URL in the user&amp;#039;s default Internet browser.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Browser &amp;quot;http://www.playonlinux.com&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpCreate ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Name of the temporary directory (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates the temporary directory dedicated to the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
$POL_System_TmpDir will contain the path of the created temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_TmpDelete ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Removes the script&amp;#039;s temporary directory.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_System_SetArch ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Supported architectures (see below).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the (Wine) architectures supported by the script.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;auto&amp;#039;&amp;#039;&amp;#039;: Use the version of Wine matching the system architecture (Wine x86 on x86 and Wine x64 on amd64)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;x86&amp;#039;&amp;#039;&amp;#039;: Use the x86 version of Wine for installation (useful if the program doesn&amp;#039;t work well with the x64 version)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039;: Use the x64 version of Wine for installation (if the system architecture is x86, the script stops).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_SetArch &amp;quot;auto&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== POL_Call ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Function name.&lt;br /&gt;
# 2, 3, etc.: Function arguments, if necessary (very few functions take arguments).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Download and execute a script from the Functions category (the list of functions and their basic information for each can be found here: [[Components and Functions|Components and Functions]]).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
For most functions, the commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Wine-related functions ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SelectPrefix ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Select the prefix that will be used by Wine (mandatory, even if the prefix hasn&amp;#039;t been created yet).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixExists ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Prefix name (often $PREFIX).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Check if a prefix exists (useful for game extensions and patches).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays True if the prefix exists, and False otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
if [ &amp;quot;$(POL_Wine_PrefixExists &amp;quot;$PREFIX&amp;quot;)&amp;quot; = &amp;quot;False&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    # The préfixe doesn&amp;#039;t exist&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_PrefixCreate ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Wine version.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or updates a prefix. It is possible to use a version of Wine different from the one installed system wide on user&amp;#039;s computer, by specifying this version as first argument.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Wine_SelectPrefix must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_PrefixCreate &amp;quot;1.3.4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Program pathname.&lt;br /&gt;
* 2, 3, etc.: program arguments, if any.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command will run the given program; It works exactly like the &amp;quot;wine&amp;quot; command, but uses the Wine versions management and logging facilities of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
While most programs started that way will behave synchronously (in other words, will block the script until they&amp;#039;re finished), some don&amp;#039;t and the POL_Command will need to be followed by a POL_Wine_WaitExit command to prevent the rest of the script from being executed before the program has finished.&lt;br /&gt;
&lt;br /&gt;
See POL_Wine_WaitBefore and POL_Wine_WaitExit.&lt;br /&gt;
&lt;br /&gt;
Note: Using &amp;#039;&amp;#039;&amp;#039;start /unix&amp;#039;&amp;#039;&amp;#039; before the program name can fix issues of access and installation paths with several CD/DVD. However, the use of start /unix makes POL_Wine asynchronous, and since asynchronous programs are not automatically killed if the script is aborted from PlayOnLinux side, it should only be used when necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
=== POL_SetupWindow_VMS ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Minimum amount of RAM required, in MB.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user how much (dedicated) RAM his videocard has.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_VMS &amp;quot;128&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_OS ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Windows version to emulate.&lt;br /&gt;
# Service pack.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Modifies the Windows version emulated by Wine.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value:&amp;#039;&amp;#039;&amp;#039; winxp (Windows XP).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Windows versions&amp;#039;&amp;#039;&amp;#039;: win7, vista, win2003, winxp, win2k, winnt, winme, nt40, win98, win95, win31.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Services packs&amp;#039;&amp;#039;&amp;#039;: sp1, sp2, sp3.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_OS &amp;quot;win2k&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Managed ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set if the window manager will be allowed to manage Wine windows.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Default value&amp;#039;&amp;#039;&amp;#039;: On.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Managed &amp;quot;Off&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_SoundDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# alsa/oss/esd.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the audio driver Wine will use.&lt;br /&gt;
&lt;br /&gt;
{{Info|This command does nothing under PlayOnMac, since it is useless in that environment.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_SoundDriver &amp;quot;alsa&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_Direct3D ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\Direct3D].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_Direct3D &amp;quot;UseGLSL&amp;quot; &amp;quot;disabled&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_X11Drv ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\X11 Driver].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_X11Drv &amp;quot;DXGrab&amp;quot; &amp;quot;Y&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectSound ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectSound].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectSound &amp;quot;HardwareAcceleration&amp;quot; &amp;quot;Emulation&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_DirectInput ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to create/modify.&lt;br /&gt;
# New setting value.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Creates or modifies a registry setting below key [HKEY_CURRENT_USER\Software\Wine\DirectInput].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed values:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.winehq.org/UsefulRegistryKeys WineHQ&amp;#039;s Wiki].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_DirectInput &amp;quot;MouseWarpOverride&amp;quot; &amp;quot;force&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_GetRegValue ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Setting to read (the key is not required).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This function returns the value of a setting from the registry.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Return:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The function displays the value of the specified setting.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
VALUE=&amp;quot;$(POL_Wine_GetRegValue &amp;quot;MouseWarpOverride&amp;quot;)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_Desktop ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# On/Off.&lt;br /&gt;
# Virtual desktop width (if it is enabled).&lt;br /&gt;
# Virtual desktop height (if it is enabled).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Sets the Wine virtual desktop settings.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_Desktop &amp;quot;On&amp;quot; &amp;quot;1024&amp;quot; &amp;quot;768&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set_WineWindowTitle ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Virtual desktop name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the title of the virtual desktop window (purely aesthetic effect).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
Set_WineWindowTitle &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_InstallFonts ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This command installs standard (but not installed by default) fonts into the prefix.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_InstallFonts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_SetVideoDriver ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set correct video driver (when Wine fails to do it properly).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_SetVideoDriver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_OverrideDLL_App ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Executable name.&lt;br /&gt;
# Mode of override.&lt;br /&gt;
# 3, 4, etc.: DLL names (without .dll suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Set the override mode for one or more dynamic library(ies), but only for a specific program.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Allowed override modes:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
native, builtin, native,builtin, builtin,native, or empty value (&amp;quot;&amp;quot;) to disable the DLL(s).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;native&amp;quot; &amp;quot;msvcrt&amp;quot;&lt;br /&gt;
POL_Wine_OverrideDLL_App &amp;quot;firefox.exe&amp;quot; &amp;quot;&amp;quot; &amp;quot;msvcrt&amp;quot; # To disable the DLL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitBefore ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed before a POL_Wine command that starts a program synchronously (ie a &amp;quot;blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 POL_Wine_WaitBefore &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_WaitExit ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Program name.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Placed after a POL_Wine command that starts a program asynchronously (ie a &amp;quot;non-blocking&amp;quot; POL_Wine command), it will display a standard wait message while it runs and wait for its completion.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_WaitExit &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Wine_reboot ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Emulate a Windows reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The commands POL_Wine_SelectPrefix and POL_Wine_PrefixCreate must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Wine_reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Debugging commands ==&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Init ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Start debugging system.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Message ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Message &amp;quot;Modifying config.cfg file.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Warning ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write a warning message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Warning &amp;quot;File config.cfg did not exist, creating one.&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Error ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Write an error message to the installation log (not shown to the user).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Error &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== POL_Debug_Fatal ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Arguments:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
# Message.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Description:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Raises a fatal error (the script is immediately aborted).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Prerequisite:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The command POL_Debug_Init must have been used beforehand.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Fatal &amp;quot;Error while modifying config.cfg file&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_8:_My_First_Real_Script&amp;diff=692</id>
		<title>Scripting - Chapter 8: My First Real Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_8:_My_First_Real_Script&amp;diff=692"/>
				<updated>2015-03-22T15:17:27Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Remove POL_Debug_Init from example script, it is secondary to the example and only introduced in next chapter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Do you feel ready to write your first complete script? Yes? Let&amp;#039;s go! Your goal is to try to write this script by yourself.&lt;br /&gt;
&lt;br /&gt;
== Instructions: ==&lt;br /&gt;
&lt;br /&gt;
For this exercise, we will work on &amp;#039;&amp;#039;&amp;#039;Mozilla Firefox&amp;#039;&amp;#039;&amp;#039; (Windows version). It is freely available for download.&lt;br /&gt;
&lt;br /&gt;
=== Installation methods ===&lt;br /&gt;
&lt;br /&gt;
Two methods of installation should be supported: &amp;#039;&amp;#039;&amp;#039;LOCAL&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;DOWNLOAD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Firefox must be downloaded from mirror servers, I&amp;#039;ll give you the address of the mirror server you should use:&lt;br /&gt;
&lt;br /&gt;
http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/36.0/win32/en-US/Firefox%20Setup%2036.0.exe&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This link will download Firefox version 36.0.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Name of the executable ===&lt;br /&gt;
&lt;br /&gt;
The executable to pass to the &amp;#039;&amp;#039;&amp;#039;POL_Shortcut&amp;#039;&amp;#039;&amp;#039; command is: &amp;#039;&amp;#039;&amp;#039;firefox.exe&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== List of useful commands ===&lt;br /&gt;
&lt;br /&gt;
To make your task easier, here are the commands that you&amp;#039;ll need (in usage order):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_presentation&lt;br /&gt;
POL_System_TmpCreate&lt;br /&gt;
POL_SetupWindow_InstallMethod&lt;br /&gt;
if [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;LOCAL&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    POL_SetupWindow_browse&lt;br /&gt;
elif [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;DOWNLOAD&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    cd&lt;br /&gt;
    POL_Download&lt;br /&gt;
fi&lt;br /&gt;
POL_Wine_SelectPrefix&lt;br /&gt;
POL_Wine_PrefixCreate&lt;br /&gt;
POL_SetupWindow_wait&lt;br /&gt;
POL_Wine&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
POL_Shortcut&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== It&amp;#039;s your turn now! ==&lt;br /&gt;
&lt;br /&gt;
Additional arguments may be required, check the previous chapters. You should now have all the necessary information to achieve this task. Try to complete the script as much as possible by yourself. Once you&amp;#039;re done, you can check the solution below.&lt;br /&gt;
&lt;br /&gt;
== Correction ==&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s a working script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;Mozilla Firefox&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;YourNickname&amp;quot; &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_System_TmpCreate &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,DOWNLOAD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;LOCAL&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    POL_SetupWindow_browse &amp;quot;Please select the installation file to run.&amp;quot; &amp;quot;Mozilla Firefox installation&amp;quot;&lt;br /&gt;
    INSTALLER=&amp;quot;$APP_ANSWER&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;DOWNLOAD&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    cd &amp;quot;$POL_System_TmpDir&amp;quot;&lt;br /&gt;
    POL_Download &amp;quot;http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/36.0/win32/en-US/Firefox%20Setup%2036.0.exe&amp;quot;&lt;br /&gt;
    INSTALLER=&amp;quot;$POL_System_TmpDir/Firefox Setup 36.0.exe&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
POL_Wine_PrefixCreate&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Installation in progress.&amp;quot; &amp;quot;Mozilla Firefox installation&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$INSTALLER&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;Mozilla Firefox&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tighter the resemblance of your script with this one, the better your understanding of scripting. The exact messages used are not important, what matters is that you used all the functions in your own script.&lt;br /&gt;
&lt;br /&gt;
You can try to adapt this code to the installation of other programs, but keep in mind that some programs do not work with the default settings of Wine, and that additional functions may be required. Wine technology is not perfect, so some programs may not work no matter how hard you will try.&lt;br /&gt;
&lt;br /&gt;
The test reports available from [https://appdb.winehq.org/ appdb.wineHQ.org] may prove useful to you.&lt;br /&gt;
&lt;br /&gt;
== Ok, I&amp;#039;m done, can I write PlayOnLinux scripts now? ==&lt;br /&gt;
&lt;br /&gt;
Sadly not yet, you&amp;#039;ve learned to write &amp;quot;basic&amp;quot; scripts, but additional requirements need to be taken care of, like allowing for localization or debugging. We&amp;#039;ll see that in the next chapters.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 7: Installation Media|Chapter 7: Installation Media]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Next:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 9: Standardization|Chapter 9: Standardization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_9:_Standardization&amp;diff=691</id>
		<title>Scripting - Chapter 9: Standardization</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_9:_Standardization&amp;diff=691"/>
				<updated>2015-03-22T15:16:09Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Modify hash-bang lines in accordance to playonlinux-bash tip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Standardization, what is this thing? ==&lt;br /&gt;
&lt;br /&gt;
To improve script readability, maintainability, debugging, and translation, scripts are standardized. This means that things need to be added or modified so that scripts will look and behave in a similar fashion.&lt;br /&gt;
&lt;br /&gt;
Let us go over the details...&lt;br /&gt;
&lt;br /&gt;
== Make your script available under Mac OS X using PlayOnMac ==&lt;br /&gt;
&lt;br /&gt;
It may be useful to clarify (for those who would not know) that PlayOnLinux and PlayOnMac are really the same software, sharing the same code. Only the name changes depending on the operating system. So, making your script available to PlayOnMac users can be very easy. You just have to check that your script runs fine under Mac OS X. Even if you don&amp;#039;t have any Mac OS X at hand, for small and simple software one can expect that, if it works correctly under GNU/Linux, there&amp;#039;s a 99% probability that it will also work under Mac OS X.&lt;br /&gt;
&lt;br /&gt;
To make your script available under Mac OS X, check the box &amp;quot;PlayOnMac compatible&amp;quot; of the new script submission form of the PlayOnLinux website. Read more here:&lt;br /&gt;
&lt;br /&gt;
* [[How to Contribute a Script|How to Contribute a Script]]&lt;br /&gt;
&lt;br /&gt;
== Standardization; let&amp;#039;s begin ==&lt;br /&gt;
&lt;br /&gt;
First, we shall be introduced to several items regarding standardization in scripts.&lt;br /&gt;
&lt;br /&gt;
=== The $TITLE variable ===&lt;br /&gt;
&lt;br /&gt;
You should assign the variable &amp;#039;&amp;#039;&amp;#039;$TITLE&amp;#039;&amp;#039;&amp;#039; with the name of the script, and use it every time the name of the script is required.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
TITLE=&amp;quot;Mozilla Firefox&amp;quot; # Should be present in all your scripts&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
...&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;YourNickname&amp;quot; &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously, adapt it to the name of your script (that usually matches the name of the software it installs).&lt;br /&gt;
The variable &amp;#039;&amp;#039;&amp;#039;$TITLE&amp;#039;&amp;#039;&amp;#039; is notably required for the use of PlayOnLinux&amp;#039;s debugging system.&lt;br /&gt;
&lt;br /&gt;
=== Use the $TITLE variable for window titles ===&lt;br /&gt;
&lt;br /&gt;
To avoid confusing the user with disparate window titles, it is recommended to use the variable &amp;#039;&amp;#039;&amp;#039;$TITLE&amp;#039;&amp;#039;&amp;#039; as window title.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_SetupWindow_message &amp;quot;Message&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
POL_SetupWindow_browse &amp;quot;Message&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Message&amp;quot; &amp;quot;$TITLE&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The $PREFIX variable ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
TITLE=&amp;quot;Mozilla Firefox&amp;quot;&lt;br /&gt;
PREFIX=&amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
...&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;$TITLE&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;YourNickname&amp;quot; &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
POL_System_TmpCreate &amp;quot;$PREFIX&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Some informations about the script ===&lt;br /&gt;
&lt;br /&gt;
It is recommended to provide some information near the beginning of the script, right after the #!/bin/bash line. Headers like this are standard practice in any script or source code, and should be applied as such.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
# Date : (Year-month-day hour-min)&lt;br /&gt;
# Last revision : (Year-month-day hour-min)&lt;br /&gt;
# Wine version used :&lt;br /&gt;
# Distribution used to test : Distribution&lt;br /&gt;
# Author : Your nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
# Date : (2011-11-19 06-39)&lt;br /&gt;
# Last revision : (2011-11-19 06-39)&lt;br /&gt;
# Wine version used : 1.3.4&lt;br /&gt;
# Distribution used to test : Ubuntu 10.04 LTS&lt;br /&gt;
# Author : Your nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enable debugging ===&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux has a script debugging mode that must be enabled through a command. It is mandatory to enable it, even if you have no use for it; if some user experiences a problem with your script, it will allow him to sent a bug report to the PlayOnLinux website.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This command should be put right after the command &amp;#039;&amp;#039;&amp;#039;POL_SetupWindow_Init&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Some more information ==&lt;br /&gt;
&lt;br /&gt;
Random information that does not fit into previous chapters.&lt;br /&gt;
&lt;br /&gt;
=== It is forbidden to use sudo ===&lt;br /&gt;
&lt;br /&gt;
Commands &amp;#039;&amp;#039;&amp;#039;sudo&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;su&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;gksudo&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;kdesu&amp;#039;&amp;#039;&amp;#039; and similar are &amp;#039;&amp;#039;&amp;#039;forbidden&amp;#039;&amp;#039;&amp;#039; for the sake of security. However, if you really need &amp;#039;&amp;#039;&amp;#039;sudo&amp;#039;&amp;#039;&amp;#039; (for example to display hidden files from hybrid PC/MAC DVDs, using mount command), you can use the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Function_RootCommand &amp;quot;command using sudo; exit&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Winetricks forbidden in scripts ===&lt;br /&gt;
&lt;br /&gt;
Winetricks, or a similar script, is forbidden in PlayOnLinux scripts. Instead, you can use the very similar command &amp;#039;&amp;#039;&amp;#039;POL_Call&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call Script&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_Call POL_Install_vcrun6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The list of all the available scripts can be seen on [https://www.playonlinux.com/repository/?cat=100 this page].&lt;br /&gt;
&lt;br /&gt;
== Scripts translation ==&lt;br /&gt;
&lt;br /&gt;
We&amp;#039;re almost done with scripts standardization. The only item left is script translations. This will be the topic of the next chapter.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 8: My First Real Script|Chapter 8: My First Real Script]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Next:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 10: Script Translation|Chapter 10: Script Translation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_8:_My_First_Real_Script&amp;diff=690</id>
		<title>Scripting - Chapter 8: My First Real Script</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_8:_My_First_Real_Script&amp;diff=690"/>
				<updated>2015-03-22T15:14:16Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Modify hash-bang lines in accordance with playonlinux-bash tip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Do you feel ready to write your first complete script? Yes? Let&amp;#039;s go! Your goal is to try to write this script by yourself.&lt;br /&gt;
&lt;br /&gt;
== Instructions: ==&lt;br /&gt;
&lt;br /&gt;
For this exercise, we will work on &amp;#039;&amp;#039;&amp;#039;Mozilla Firefox&amp;#039;&amp;#039;&amp;#039; (Windows version). It is freely available for download.&lt;br /&gt;
&lt;br /&gt;
=== Installation methods ===&lt;br /&gt;
&lt;br /&gt;
Two methods of installation should be supported: &amp;#039;&amp;#039;&amp;#039;LOCAL&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;DOWNLOAD&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Since Mozilla Firefox must be downloaded from mirror servers, I&amp;#039;ll give you the address of the mirror server you should use:&lt;br /&gt;
&lt;br /&gt;
http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/36.0/win32/en-US/Firefox%20Setup%2036.0.exe&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This link will download Firefox version 36.0.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== Name of the executable ===&lt;br /&gt;
&lt;br /&gt;
The executable to pass to the &amp;#039;&amp;#039;&amp;#039;POL_Shortcut&amp;#039;&amp;#039;&amp;#039; command is: &amp;#039;&amp;#039;&amp;#039;firefox.exe&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== List of useful commands ===&lt;br /&gt;
&lt;br /&gt;
To make your task easier, here are the commands that you&amp;#039;ll need (in usage order):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_presentation&lt;br /&gt;
POL_System_TmpCreate&lt;br /&gt;
POL_SetupWindow_InstallMethod&lt;br /&gt;
if [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;LOCAL&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    POL_SetupWindow_browse&lt;br /&gt;
elif [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;DOWNLOAD&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    cd&lt;br /&gt;
    POL_Download&lt;br /&gt;
fi&lt;br /&gt;
POL_Wine_SelectPrefix&lt;br /&gt;
POL_Wine_PrefixCreate&lt;br /&gt;
POL_SetupWindow_wait&lt;br /&gt;
POL_Wine&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
POL_Shortcut&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== It&amp;#039;s your turn now! ==&lt;br /&gt;
&lt;br /&gt;
Additional arguments may be required, check the previous chapters. You should now have all the necessary information to achieve this task. Try to complete the script as much as possible by yourself. Once you&amp;#039;re done, you can check the solution below.&lt;br /&gt;
&lt;br /&gt;
== Correction ==&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s a working script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
POL_Debug_Init&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_presentation &amp;quot;Mozilla Firefox&amp;quot; &amp;quot;Mozilla&amp;quot; &amp;quot;http://www.mozilla.com&amp;quot; &amp;quot;YourNickname&amp;quot; &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_System_TmpCreate &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_InstallMethod &amp;quot;LOCAL,DOWNLOAD&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;LOCAL&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    POL_SetupWindow_browse &amp;quot;Please select the installation file to run.&amp;quot; &amp;quot;Mozilla Firefox installation&amp;quot;&lt;br /&gt;
    INSTALLER=&amp;quot;$APP_ANSWER&amp;quot;&lt;br /&gt;
elif [ &amp;quot;$INSTALL_METHOD&amp;quot; = &amp;quot;DOWNLOAD&amp;quot; ]&lt;br /&gt;
then&lt;br /&gt;
    cd &amp;quot;$POL_System_TmpDir&amp;quot;&lt;br /&gt;
    POL_Download &amp;quot;http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/36.0/win32/en-US/Firefox%20Setup%2036.0.exe&amp;quot;&lt;br /&gt;
    INSTALLER=&amp;quot;$POL_System_TmpDir/Firefox Setup 36.0.exe&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
POL_Wine_SelectPrefix &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
POL_Wine_PrefixCreate&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_wait &amp;quot;Installation in progress.&amp;quot; &amp;quot;Mozilla Firefox installation&amp;quot;&lt;br /&gt;
POL_Wine &amp;quot;$INSTALLER&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&lt;br /&gt;
POL_Shortcut &amp;quot;firefox.exe&amp;quot; &amp;quot;Mozilla Firefox&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The tighter the resemblance of your script with this one, the better your understanding of scripting. The exact messages used are not important, what matters is that you used all the functions in your own script.&lt;br /&gt;
&lt;br /&gt;
You can try to adapt this code to the installation of other programs, but keep in mind that some programs do not work with the default settings of Wine, and that additional functions may be required. Wine technology is not perfect, so some programs may not work no matter how hard you will try.&lt;br /&gt;
&lt;br /&gt;
The test reports available from [https://appdb.winehq.org/ appdb.wineHQ.org] may prove useful to you.&lt;br /&gt;
&lt;br /&gt;
== Ok, I&amp;#039;m done, can I write PlayOnLinux scripts now? ==&lt;br /&gt;
&lt;br /&gt;
Sadly not yet, you&amp;#039;ve learned to write &amp;quot;basic&amp;quot; scripts, but additional requirements need to be taken care of, like allowing for localization or debugging. We&amp;#039;ll see that in the next chapters.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 7: Installation Media|Chapter 7: Installation Media]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Next:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 9: Standardization|Chapter 9: Standardization]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_6:_The_Filesystem&amp;diff=689</id>
		<title>Scripting - Chapter 6: The Filesystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_6:_The_Filesystem&amp;diff=689"/>
				<updated>2015-03-22T15:12:41Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Add some recommendations about testing resources before creating virtual drives, in accordance with #1027 (https://www.playonlinux.com/en/issue-1027.html)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a couple of good ways to manipulate your files and directories in Bash. We&amp;#039;ll give you the most important commands for writing PlayOnLinux scripts.&lt;br /&gt;
&lt;br /&gt;
== PlayOnLinux temporary directories ==&lt;br /&gt;
&lt;br /&gt;
You can use a temporary directory for your script when it runs. To do that:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;NameOfTemporaryDirectory&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpCreate &amp;quot;MozillaFirefox&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It will create a variable &amp;#039;&amp;#039;&amp;#039;$POL_System_TmpDir&amp;#039;&amp;#039;&amp;#039; that will contain the path of the temporary directory. In this directory, you&amp;#039;ll be free to store and modify all the files you want, for the whole script duration.&lt;br /&gt;
&lt;br /&gt;
It is recommended for install scripts to first check (as far as possible) that all needed resources are available before prefix creation, and installation itself. POL_System_TmpCreate can become very useful to this end, because it doesn&amp;#039;t require any prefix to already exist.&lt;br /&gt;
&lt;br /&gt;
=== Delete the temporary directory ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
POL_System_TmpDelete&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Info| it is futile to remove the files you created in the temporary directory before calling the POL_System_TmpDelete command.}}&lt;br /&gt;
&lt;br /&gt;
== Other filesystem commands ==&lt;br /&gt;
&lt;br /&gt;
=== Switching directory ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;path&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;/path/to/a/directory&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME&amp;quot; # Switch to user&amp;#039;s personal directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$CDROM&amp;quot; # Switch to CD/DVD directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$POL_System_TmpDir&amp;quot; # Switch to temporary directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Removing a file or directory ===&lt;br /&gt;
&lt;br /&gt;
{{WarningRed|This command is very dangerous. It could destroy all your files if you don&amp;#039;t handle it properly. For example, if you decide to remove /home/user/.PlayOnLinux/tmp/ and that you inadvertently insert a blank between /home/user/ and .PlayOnLinux, you can say farewell to your documents. PlayOnLinux could not be held responsible for any mishandling on your part.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SERIOUSLY; be diligent in your code quality.&amp;#039;&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
rm &amp;quot;filename&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
rm -r &amp;quot;directory&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
rm &amp;quot;$POL_System_TmpDir/file.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
rm -r &amp;quot;$POL_System_TmpDir/directory&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If they are any remaining files and/or subdirectories in the directory you&amp;#039;re removing, they&amp;#039;ll also be removed for good.&lt;br /&gt;
&lt;br /&gt;
=== Copying a file or a directory ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cp &amp;quot;SourceFile&amp;quot; &amp;quot;TargetFile&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cp -r &amp;quot;SourceDirectory&amp;quot; &amp;quot;TargetDirectory&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Examples of file copy:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cp &amp;quot;/home/user/file.txt&amp;quot; &amp;quot;/home/user/copy_of_file.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cp &amp;quot;/home/user/file.txt&amp;quot; &amp;quot;/home/user/data/file.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cp &amp;quot;$CDROM/file.txt&amp;quot; &amp;quot;$POL_System_TmpDir/file.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example of directory copy:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
cp -r &amp;quot;/home/user/My Folder&amp;quot; &amp;quot;/home/user/Desktop/Test/&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Moving or renaming a file or directory ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Syntax:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
mv &amp;quot;/home/user/file.txt&amp;quot; &amp;quot;home/user/data.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
mv &amp;quot;/home/user/file.txt&amp;quot; &amp;quot;/home/user/Desktop/file.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;playonlinux code&amp;quot;&amp;gt;&lt;br /&gt;
mv &amp;quot;/home/user/file.txt&amp;quot; &amp;quot;/home/user/Desktop/data.txt&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1st command will rename the file file.txt to data.txt.&lt;br /&gt;
&lt;br /&gt;
2nd command will move the file.&lt;br /&gt;
&lt;br /&gt;
3rd command will move AND rename the file.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Previous:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 5: Wine|Chapter 5: Wine]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Next:&amp;#039;&amp;#039;&amp;#039; [[Scripting - Chapter 7: Installation Media|Chapter 7: Installation Media]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	<entry>
		<id>https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_1:_Getting_to_know_Bash&amp;diff=688</id>
		<title>Scripting - Chapter 1: Getting to know Bash</title>
		<link rel="alternate" type="text/html" href="https://wiki.playonlinux.com/index.php?title=Scripting_-_Chapter_1:_Getting_to_know_Bash&amp;diff=688"/>
				<updated>2015-03-22T14:58:55Z</updated>
		
		<summary type="html">&lt;p&gt;Petch: Shorten sentences&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
You would like to create your own scripts for PlayOnLinux but you don&amp;#039;t know squat about programming? This tutorial will explain the basics and you&amp;#039;ll soon be a pro in &amp;#039;&amp;#039;playonlinuxian&amp;#039;&amp;#039; Bash.&lt;br /&gt;
&lt;br /&gt;
== Bash? ==&lt;br /&gt;
&lt;br /&gt;
Bash is a command interpretor (or &amp;quot;shell&amp;quot;) in &amp;#039;&amp;#039;&amp;#039;GNU/Linux&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Mac OS X&amp;#039;&amp;#039;&amp;#039;. It&amp;#039;s the one appearing when you launch a terminal. It also allows you to make &amp;#039;&amp;#039;&amp;#039;scripts&amp;#039;&amp;#039;&amp;#039;. A &amp;#039;&amp;#039;&amp;#039;script&amp;#039;&amp;#039;&amp;#039; is a list of commands that your shell will execute one after the other.&lt;br /&gt;
PlayOnLinux has advanced functions in Bash to make the scripting process easier. Let&amp;#039;s get acquainted with them.&lt;br /&gt;
&lt;br /&gt;
== Requirements of every script ==&lt;br /&gt;
&lt;br /&gt;
Every PlayOnLinux script must contain this boilerplate code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;code playonlinux&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
&lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warning|Do not copy the line numbers to the script. It is also highly recommended that you type it out by hand while learning, as opposed to copying and pasting, so as to become more familiar with the scripting language.}}&lt;br /&gt;
&lt;br /&gt;
The above code may not make sense to you yet. We will explain what it does as we go.&lt;br /&gt;
&lt;br /&gt;
During this tutorial, I will not repeat this code over and over in the examples, as you will need it in every script. Remember to always include it, otherwise your script won&amp;#039;t work.&lt;br /&gt;
&lt;br /&gt;
== Executing your script ==&lt;br /&gt;
&lt;br /&gt;
Ask your favourite text editor to save your script, then use the function &amp;#039;&amp;#039;&amp;#039;Run a local script&amp;#039;&amp;#039;&amp;#039; from the &amp;#039;&amp;#039;&amp;#039;Tools&amp;#039;&amp;#039;&amp;#039; menu of PlayOnLinux.&lt;br /&gt;
&lt;br /&gt;
== Script signing ==&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux uses digital signing (authentication) on scripts to certify that scripts have been validated by PlayOnLinux scripters. All the scripts available from the &amp;#039;&amp;#039;&amp;#039;Install&amp;#039;&amp;#039;&amp;#039; window of PlayOnLinux are validated.&lt;br /&gt;
Each time you will try to run a script that has not been validated by PlayOnLinux scripters, you will get a warning message telling you that the script has no valid signature (see screenshot below).&lt;br /&gt;
&lt;br /&gt;
{{POL_SetupWindow_message|Run a local script|Warning!!&lt;br /&gt;
&lt;br /&gt;
The signature of the script you are trying to run is NOT valid.&lt;br /&gt;
&lt;br /&gt;
PlayOnLinux has not approved this script and will not be responsible for it. Please ensure you know what you are doing!&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You must click on &amp;#039;&amp;#039;&amp;#039;Next&amp;#039;&amp;#039;&amp;#039; button to get PlayOnLinux to show you the script source, then click on the &amp;#039;&amp;#039;&amp;#039;I Agree&amp;#039;&amp;#039;&amp;#039; checkbox, before you can (finally) run the script (see screenshot below).&lt;br /&gt;
&lt;br /&gt;
{{POL_SetupWindow_licence|Run a local script|Here is the source code of the script. Check it carefully:&lt;br /&gt;
|&amp;lt;pre&amp;gt;#!/usr/bin/env playonlinux-bash&lt;br /&gt;
[ &amp;quot;$PLAYONLINUX&amp;quot; = &amp;quot;&amp;quot; ] &amp;amp;&amp;amp; exit 0&lt;br /&gt;
source &amp;quot;$PLAYONLINUX/lib/sources&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_Init&lt;br /&gt;
 &lt;br /&gt;
POL_SetupWindow_Close&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Info|A real time saver for experienced script developers: If you&amp;#039;re familiar with the command line interface, you may have guessed from the first line of the script above that PlayOnLinux scripts can also be run using the playonlinux-bash command.&lt;br /&gt;
Written as above, you can even set the executable bit on PlayOnLinux install scripts! }}&lt;br /&gt;
&lt;br /&gt;
* [[Scripting - Chapter 2: Basic Functions|Chapter 2: Basic Functions]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Petch</name></author>	</entry>

	</feed>