Support dark mode in simple docs
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7322 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
0d298349d4
commit
c7516acf94
3 changed files with 64 additions and 91 deletions
|
@ -1,11 +1,13 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>NSIS System Plug-in</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<title>System Plug-in (NSIS)</title>
|
||||
<style type="text/css">
|
||||
html, body { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; background-color: #ffffff; }
|
||||
:root { color-scheme: light dark; }
|
||||
html, body { font-family: Verdana, Arial, Helvetica, sans-serif; }
|
||||
html { font-size: 0.84em; }
|
||||
body { font-size: 1em; font-size: 1rem; }
|
||||
pre, code { font-family: Courier New, Courier, monospace,serif; font-size: 100%; }
|
||||
|
@ -17,6 +19,10 @@ h5 { font-size: 115%; }
|
|||
h6 { font-size: 110%; }
|
||||
blockquote { margin:0; padding:0; margin-left: 0.5em; }
|
||||
blockquote pre { background-color: #fefefe; }
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
blockquote pre { background-color: #202020; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -237,7 +243,7 @@ DetailPrint $4
|
|||
</tr>
|
||||
<tr>
|
||||
<th><i>IPTR</i>-><i>IDX</i></th>
|
||||
<td>Member indexed <i>IDX</i> from<br/>interface pointed by <i>IPTR</i></td>
|
||||
<td>Member indexed <i>IDX</i> from<br>interface pointed by <i>IPTR</i></td>
|
||||
<td><a href="#com">see below</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -306,11 +312,11 @@ DetailPrint $4
|
|||
<th>k</th>
|
||||
<td>callback</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>@</th>
|
||||
<td>Direct register memory access (Buffer is limited to <code>(NSIS_MAX_STRLEN - 24) * NSIS_CHAR_SIZE</code> bytes)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<th>&v<i>N</i></th>
|
||||
<td><i>N</i> bytes padding (structures only)</td>
|
||||
</tr>
|
||||
|
@ -360,7 +366,7 @@ DetailPrint $4
|
|||
<td>concrete hex, decimal or octal integer value. several integers can be or'ed using the pipe symbol (`|')</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>'<i>string</i>'<br/>"<i>string</i>"<br/>`<i>string</i>`</th>
|
||||
<th>'<i>string</i>'<br>"<i>string</i>"<br>`<i>string</i>`</th>
|
||||
<td>concrete string value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -368,7 +374,7 @@ DetailPrint $4
|
|||
<td>$0 through $9 respectively</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><i>r10</i> through <i>r19</i><br/><i>R0</i> through <i>R9</i></th>
|
||||
<th><i>r10</i> through <i>r19</i><br><i>R0</i> through <i>R9</i></th>
|
||||
<td>$R0 through $R9 respectively</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<title>VPatch 3</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<style type="text/css">
|
||||
/*<![CDATA[*/
|
||||
:root { color-scheme: light dark; }
|
||||
html, body { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; background-color: #ffffff; }
|
||||
html { font-size: 0.84em; }
|
||||
body { font-size: 1em; font-size: 1rem; }
|
||||
|
@ -21,49 +22,23 @@ h6 { font-size: 110%; }
|
|||
body
|
||||
{
|
||||
padding:1.5em 0; margin:0;
|
||||
background-color: #F0F0F0;
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
font-weight: normal;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
p, li
|
||||
{
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.center
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
p, li { font-size: 1em; }
|
||||
table
|
||||
{
|
||||
margin: auto;
|
||||
font-size: 1em;
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.maintable
|
||||
{
|
||||
border: 2px solid #376EAB;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.parameter
|
||||
{
|
||||
font-weight: bold;
|
||||
color: #6586AC;
|
||||
}
|
||||
|
||||
|
||||
h1
|
||||
{
|
||||
font-size: 250%;
|
||||
color: #333333;
|
||||
font-weight: normal;
|
||||
text-align: center;
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
h2
|
||||
|
@ -85,30 +60,25 @@ div
|
|||
margin: 1.5em;
|
||||
}
|
||||
|
||||
a:link, a:visited, a:active
|
||||
{
|
||||
color: #294F75;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:link, a:visited, a:active { color: #294F75; text-decoration: none; }
|
||||
a:hover { color: #182634; text-decoration: underline; }
|
||||
|
||||
a:hover
|
||||
{
|
||||
color: #182634;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.T tr:nth-child(odd) { background-color: #fafafa; }
|
||||
.T tr, .T td { border: 1px solid #f2f2f2; border-collapse: collapse; padding: 0.2em; }
|
||||
.T tr, .T td { border: 1px solid #f5f5f5; border-collapse: collapse; padding: 0.2em; }
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html, body { color: #eeeeee; background-color:#161616; }
|
||||
h1, h2, h3, h4, h5, h5 { color: inherit; }
|
||||
a, a:link, a:visited, a:active { color: #4be; } a:hover { color: #6df; }
|
||||
.T tr:nth-child(odd) { background-color: #222222; }
|
||||
.T tr, .T td { border: 1px solid #202020; border-collapse: collapse; padding: 0.2em; }
|
||||
}
|
||||
|
||||
/*]]>*/
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table width="750" class="maintable" cellspacing="0" cellpadding="0" align="center">
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<h1>VPatch 3.1</h1>
|
||||
<h1>VPatch 3.1</h1>
|
||||
<div>
|
||||
<h2>Introduction</h2>
|
||||
<div>
|
||||
|
@ -126,9 +96,7 @@ a:hover
|
|||
file (version to update to). For example, DATA.DTA (currently on user
|
||||
system) and DATA_20.DTA (version 2.0 of this data file). Now call
|
||||
the command line tool GenPat.exe:</p>
|
||||
<pre>
|
||||
GENPAT oldfile.txt newfile.txt patch.pat
|
||||
</pre>
|
||||
<pre>GENPAT oldfile.txt newfile.txt patch.pat</pre>
|
||||
<p>Now, the patch will be generated, this will take some time.</p>
|
||||
<p>Using the /B=(BlockSize) parameter of the GenPat utility (put it
|
||||
after the filenames), you can use a different block size. A smaller
|
||||
|
@ -141,9 +109,7 @@ GENPAT oldfile.txt newfile.txt patch.pat
|
|||
<h3>Update the file during installation</h3>
|
||||
<div>
|
||||
<p>Use the VPatch plug-in to update a file using a patch file:</p>
|
||||
<pre>
|
||||
vpatch::vpatchfile "patch.pat" "oldfile.txt" "temporary_newfile.txt"
|
||||
</pre>
|
||||
<pre>vpatch::vpatchfile "patch.pat" "oldfile.txt" "temporary_newfile.txt"</pre>
|
||||
<p>The result of the patch operating will be added to the stack and
|
||||
can be one of the following texts:</p>
|
||||
<ul>
|
||||
|
@ -226,8 +192,7 @@ vpatch::vpatchfile "patch.pat" "oldfile.txt" "temporary_newfile.txt"
|
|||
<p>A user interface is included as well, which you will have to build
|
||||
yourself because the GUI executable was too large to include. Besides
|
||||
Borland Delphi 6 or higher (you can use the freely available Personal
|
||||
edition), you will also need to install the <a href=
|
||||
"http://www.delphi-gems.com">VirtualTreeView</a> component by Mike Lischke.</p>
|
||||
edition), you will also need to install the <a href="http://www.delphi-gems.com">VirtualTreeView</a> component by Mike Lischke.</p>
|
||||
</div>
|
||||
</div>
|
||||
<h2>Version history</h2>
|
||||
|
@ -310,13 +275,12 @@ vpatch::vpatchfile "patch.pat" "oldfile.txt" "temporary_newfile.txt"
|
|||
</div>
|
||||
<h2>Credits</h2>
|
||||
<div>
|
||||
<p>Written by Koen van de Sande<br />
|
||||
C plug-in initially by Edgewize, updated by Koen van de Sande<br />
|
||||
New documentation and example by Joost Verburg and Koen van de Sande</p>
|
||||
<p>Written by Koen van de Sande.<br>
|
||||
C plug-in initially by Edgewize, updated by Koen van de Sande.<br>
|
||||
New documentation and example by Joost Verburg and Koen van de Sande.</p>
|
||||
</div>
|
||||
<h2>License</h2>
|
||||
<div>
|
||||
<pre>
|
||||
<div><pre>
|
||||
Copyright (C) 2001-2005 Koen van de Sande / Van de Sande Productions
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
|
@ -334,11 +298,8 @@ it freely, subject to the following restrictions:
|
|||
2. Altered versions must be plainly marked as such,
|
||||
and must not be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any distribution.
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</pre></div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,19 +1,30 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>nsDialogs</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<title>nsDialogs</title>
|
||||
<style type="text/css">
|
||||
:root { color-scheme: light dark; }
|
||||
html, body { font-family: Verdana, Arial, Helvetica, sans-serif; color: #000000; background-color: #ffffff; }
|
||||
html { font-size: 0.85em; }
|
||||
body { font-size: 1em; font-size: 1rem; }
|
||||
blockquote { margin: 0.75em; } .faq blockquote { margin-left: 0; }
|
||||
pre, code { font-family: Courier New, Courier, monospace,serif; font-size: 100%; }
|
||||
b { color: #bb0000; }
|
||||
code { margin-left: 1.2em; padding: 0.5em; background-color: #f0f0f0; display:inline-block; }
|
||||
span.inlcod i { padding: 0px 0.2em; color: #444444; font-size:95%; }
|
||||
blockquote pre { background-color: #fcfcfc; }
|
||||
code { margin-left: 1.2em; padding: 0.5em; background-color: #f0f0f0; display:inline-block; }
|
||||
blockquote pre { background-color: #fafafa; padding:0.5em; overflow: auto; }
|
||||
blockquote pre > b { color: #bb0000; }
|
||||
abbr { font-variant: none; cursor: help; }
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
html, body { color: #eeeeee; background-color:#161616; }
|
||||
span.inlcod i { color: #bbbbbb; }
|
||||
code { background-color: #202020; }
|
||||
blockquote pre { background-color: #222222; }
|
||||
blockquote pre > b { color: #eebbbb; }
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -141,7 +152,7 @@ NSD_CB_Clear,
|
|||
|
||||
<h2><a name="intro"></a>Introduction</h2>
|
||||
|
||||
<p>nsDialogs allows creation of custom pages in the installer. On top of the built-in pages, nsDialogs can create pages with any type of controls in any order and arrangement. It can create everything from a simple page with one label to form which reacts to user's actions. <a href="../Modern UI 2/Readme.html">Modern UI 2</a>, for example, uses nsDialogs to create the welcome and finish pages.</p>
|
||||
<p>nsDialogs allows creation of custom pages in the installer. On top of the built-in pages, nsDialogs can create pages with any type of controls in any order and arrangement. It can create everything from a simple page with one label to form which reacts to user's actions. <a href="../Modern%20UI%202/Readme.html">Modern UI 2</a>, for example, uses nsDialogs to create the welcome and finish pages.</p>
|
||||
|
||||
<p>nsDialogs is a NSIS plug-in, introduced in version 2.29 as a replacement for <a href="../InstallOptions/Readme.html">InstallOptions</a>. nsDialogs doesn't use INI files, so it's way faster than InstallOptions. Integration with the script is tighter and more natural - creating controls is done using plug-in functions and notification is done by directly calling a function in the script. Unlike InstallOptions, there isn't a predefined set of available control type and by providing a lower level access to Windows API, every type of control can be created and pages can be more customizable.</p>
|
||||
|
||||
|
@ -472,7 +483,7 @@ SectionEnd</pre></blockquote>
|
|||
<p><code>nsDialogs::SelectFileDialog <i>mode</i> <i>initial_selection</i> <i>filter</i></code></p>
|
||||
<p>Displays a file selection dialog to the user. If <i>mode</i> is set to <i>save</i>, displays a file save dialog. If <i>mode</i> is set to <i>open</i>, displays a file open dialog.
|
||||
<p><i>initial_selection</i> can be used to provide the user with a default file to look for and/or a default folder to look in. If <i>initial_selection</i> is empty no default filename will be provided for the user and the dialog will start in the current working directory. If <i>initial_selection</i> specifies just a filename, for example "test.exe", the dialog will be set up to look for a file called test.exe in the current working directory. If <i>initial_selection</i> specifies just a directory, for example "C:\Program Files", the dialog starts in the provided directory with no file name provided. If <i>initial_selection</i> specifies a directory and a filename, for example "C:\Windows\System32\calc.exe", the dialog will be set up to look for a file called calc.exe in the directory C:\Windows\System32.</p>
|
||||
<i>filter</i> is a list of available file filter pairs separated by pipes. A filter pair consists of a display string and a <a href="https://blogs.msdn.microsoft.com/jeremykuhne/2017/06/04/wildcards-in-windows/">DOS-style wildcard pattern</a>. If an empty string is passed, the default is used (<i>"All Files|*.*"</i>).</p>
|
||||
<p><i>filter</i> is a list of available file filter pairs separated by pipes. A filter pair consists of a display string and a <a href="https://blogs.msdn.microsoft.com/jeremykuhne/2017/06/04/wildcards-in-windows/">DOS-style wildcard pattern</a>. If an empty string is passed, the default is used (<i>"All Files|*.*"</i>).</p>
|
||||
<p>Returns the selected file on the stack or an empty string if the user canceled the operation.</p>
|
||||
<blockquote><pre>
|
||||
nsDialogs::SelectFileDialog open "$DOCUMENTS\Config.ini" ".ini files|*.ini|All Files|*.*"
|
||||
|
@ -852,20 +863,15 @@ SectionEnd</pre></blockquote>
|
|||
|
||||
|
||||
<h2><a name="faq"></a>FAQ</h2>
|
||||
|
||||
<div>
|
||||
|
||||
<div class="faq">
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<b>Q:</b> Can nsDialogs handle InstallOptions INI files?
|
||||
<blockquote>
|
||||
<p><b>A:</b> nsDialogs.nsh contains a function called <i>CreateDialogFromINI</i> that can create nsDialogs' dialog from an INI file. It can handle every type of control InstallOptions supports, but doesn't handle the flags or notifications. <i>Examples\nsDialogs\InstallOptions.nsi</i> shows a usage example of this function.</p>
|
||||
</blockquote>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue