Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/developers/plugins/cpp/api.html
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ <h3>Example:</h3>
<ul>
<li><code>rm</code> : Pointer to the plugin measure.</li>
<li><code>type</code> : Log level (<a href="https://github.com/rainmeter/rainmeter-plugin-sdk/blob/master/API/RainmeterAPI.h#L362-L368">LOG_ERROR, LOG_WARNING, LOG_NOITICE, or LOG_DEBUG</a>)</li>
<li><code>format</code> : Formatted message to be logged, follows <a href="https://docs.microsoft.com/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions">printf syntax</a>.</li>
<li><code>format</code> : Formatted message to be logged, follows <a href="https://learn.microsoft.com/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions">printf syntax</a>.</li>
<li><code>args</code> : Comma separated list of arguments referenced in the formatted message.</li>
</ul>
</p>
Expand Down
2 changes: 1 addition & 1 deletion source/developers/plugins/csharp/api.html
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ <h3>Example:</h3>
<p>
<ul>
<li><code>type</code> : Log level (<a href="https://github.com/rainmeter/rainmeter-plugin-sdk/blob/master/API/RainmeterAPI.cs#L80-L86">API.LogType.Error, API.LogType.Warning, API.LogType.Notice, or API.LogType.Debug</a>)</li>
<li><code>format</code> : Formatted message to be logged, follows <a href="https://docs.microsoft.com/dotnet/standard/base-types/composite-formatting">composite formatting</a>.</li>
<li><code>format</code> : Formatted message to be logged, follows <a href="https://learn.microsoft.com/dotnet/standard/base-types/composite-formatting">composite formatting</a>.</li>
<li><code>args</code> : Comma separated list of arguments referenced in the formatted message.</li>
</ul>
</p>
Expand Down
6 changes: 3 additions & 3 deletions source/developers/plugins/guidelines.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ <h3 id="CustomBangs">Adding custom bangs</h3>
<h3 id="SettingsFile">Saving info in the <code>Rainmeter.data</code> file for later</h3>
<p>You may have some data that needs to persist across multiple measures or skins and need a place to save it for later use. You may use the <code>Rainmeter.data</code> file to save this data if needed.</p>
<p>You can retrieve the full path of the Rainmeter.data file by calling the <a href="!plugin/cpp/api/#GetSettingsFile">RmGetSettingsFile</a> function.</p>
<p>Use a unique key so other plugins will not overwrite your data. Keeping track of all the measures that reference your plugin may be necessary in order to prevent other measures of your plugin to overwrite the data. To store data in the settings file, use <a href="https://docs.microsoft.com/windows/win32/api/winbase/nf-winbase-writeprivateprofilestringa">WritePrivateProfileString</a>. To retrieve data, use <a href="https://docs.microsoft.com/windows/win32/api/winbase/nf-winbase-getprivateprofilestring">GetPrivateProfileString</a>.</p>
<p>Use a unique key so other plugins will not overwrite your data. Keeping track of all the measures that reference your plugin may be necessary in order to prevent other measures of your plugin to overwrite the data. To store data in the settings file, use <a href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-writeprivateprofilestringa">WritePrivateProfileString</a>. To retrieve data, use <a href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-getprivateprofilestring">GetPrivateProfileString</a>.</p>

<h3 id="SectionVariables">Custom section variables</h3>
<p>There may be times when you want to return a custom value from your plugin that is independent from the <a href="/manual/measures/#Values">string or number</a> value of the measure. In these cases, you can export a custom function that will be called via <a href="/manual/variables/section-variables/">section variables</a>. Skin authors will be able to call this custom function "on demand" in any option that supports section variables. <code>DynamicVariables=1</code> will be required.</p>
Expand All @@ -55,8 +55,8 @@ <h3 id="Multithreading">Multi-threading</h3>
</p>

<h3 id="Marshalling">C# Marshalling</h3>
<p>When making C# plugins you may notice references to IntPtr's and <a href="https://docs.microsoft.com/dotnet/framework/interop/interop-marshaling">Marshal</a> functions. Since Rainmeter is written in C++, variables are encoded differently, but don't be intimidated by them.</p>
<p>An <a href="https://docs.microsoft.com/dotnet/api/system.intptr">IntPtr</a> is basically an integer that represents a <a href="https://en.wikipedia.org/wiki/Pointer_(computer_programming)">pointer</a> to some data, which is why you must deallocate data in finalize as well as recast it in every function. Also since strings are formatted differently in C++, you should pass your string to <a href="https://docs.microsoft.com/dotnet/api/system.runtime.interopservices.marshal.stringtohglobaluni">Marshal.StringToHGlobalUni</a> before returning it in <a href="!plugin/csharp/#GetString">GetString</a> or <a href="!plugin/csharp/#Custom">custom section variables</a>.</p>
<p>When making C# plugins you may notice references to IntPtr's and <a href="https://learn.microsoft.com/dotnet/framework/interop/interop-marshalling">Marshal</a> functions. Since Rainmeter is written in C++, variables are encoded differently, but don't be intimidated by them.</p>
<p>An <a href="https://learn.microsoft.com/dotnet/api/system.intptr">IntPtr</a> is basically an integer that represents a <a href="https://en.wikipedia.org/wiki/Pointer_(computer_programming)">pointer</a> to some data, which is why you must deallocate data in finalize as well as recast it in every function. Also since strings are formatted differently in C++, you should pass your string to <a href="https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.marshal.stringtohglobaluni">Marshal.StringToHGlobalUni</a> before returning it in <a href="!plugin/csharp/#GetString">GetString</a> or <a href="!plugin/csharp/#Custom">custom section variables</a>.</p>
<p>Also the MarshalAs in ExecuteBang and SectionVariable examples just makes sure that you get a C# style string or string array out of the box.</p>

<h3 id="DisabledPaused">What do the <code>Disabled</code> and <code>Paused</code> options do in a plugin?</h3>
Expand Down
4 changes: 2 additions & 2 deletions source/history.html
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ <h3 id="r3508">July 27, 2021 - Revision 3508</h3>

<h3 id="r3507">July 27, 2021 - Revision 3507</h3>
<ul>
<li><span class="badge badge-added">Added</span><b>Installer:</b> Added support for beta installations via <a href="https://docs.microsoft.com/windows/package-manager/winget/">winget</a>. See <a href="https://docs.rainmeter.net/manual/installing-rainmeter/#WinGetInstallation">Winget Installation</a> for details.</li>
<li><span class="badge badge-added">Added</span><b>Installer:</b> Added support for beta installations via <a href="https://learn.microsoft.com/windows/package-manager/winget/">winget</a>. See <a href="https://docs.rainmeter.net/manual/installing-rainmeter/#WinGetInstallation">Winget Installation</a> for details.</li>
</ul>

<h3 id="r3506">July 22, 2021 - Revision 3506</h3>
Expand Down Expand Up @@ -2370,7 +2370,7 @@ <h3 id="r440">June 24, 2010 <small>(r440)</small></h3>
<li>FIXED: Inconsistent numerical value via DynamicVariables. ( issue 130 )</li>
<li>FIXED: Problem with WebParser and "local files" with Cyrillic chars in the path. (issue 139)</li>
<li>The coded character set of the logfile is changed to UTF-8. (ccs=UTF-8)
<li>"MS Shell Dlg 2" is now used for the ABOUT dialog box. <a href="https://docs.microsoft.com/windows/win32/intl/using-ms-shell-dlg-and-ms-shell-dlg-2">docs.microsoft.com</a></li>
<li>"MS Shell Dlg 2" is now used for the ABOUT dialog box. <a href="https://learn.microsoft.com/windows/win32/intl/using-ms-shell-dlg-and-ms-shell-dlg-2">learn.microsoft.com</a></li>
<li>FIXED: Invalid error message box when DynamicVariables is 1 and FontSize is 0. (issue 126)</li>
<li>FIXED: Virtual Bytes usage for an x64 process with perfmon plugin does not display value greater than 4 GB ( issue 113 )</li>
<li>FIXED: A numeric value greater than 32bit can be now displayed when NumOfDecimals is 0 in Meter=STRING.</li>
Expand Down
2 changes: 1 addition & 1 deletion source/manual/installing-rainmeter/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ <h3 id="SilentExamples">Examples</h3>

<h2 id="WinGetInstallation">WinGet Installation</h2>

<p>You can install or upgrade to the latest version of Rainmeter from a <b>cmd.exe</b> or <b>PowerShell</b> command prompt window using the <a href="https://docs.microsoft.com/windows/package-manager/winget/">Windows Package Manager</a> with the <code>WinGet</code> command.</p>
<p>You can install or upgrade to the latest version of Rainmeter from a <b>cmd.exe</b> or <b>PowerShell</b> command prompt window using the <a href="https://learn.microsoft.com/windows/package-manager/winget/">Windows Package Manager</a> with the <code>WinGet</code> command.</p>

<p>If the <b>cmd.exe</b> or <b>PowerShell</b> command prompt window is run "As Administrator", the installation will be entirely "silent". If not, Windows will display a UAC (User Account Control) confirmation dialog when executed.</p>

Expand Down
2 changes: 1 addition & 1 deletion source/manual/measures/sysinfo.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ <h4 id="Network">Network values</h4>
<li><code>DOMAIN_WORKGROUP</code> : [String] The computer's network domain or workgroup name.</li>
<li><code>DNS_SERVER</code> : [String] The computer's network primary DNS server IP address.</li>
<li><code>ADAPTER_DESCRIPTION</code> : [String] The description (name) of the network adapter specified by <code>SysInfoData</code>.</li>
<li><code>ADAPTER_TYPE</code> : [String and Number] The type of network adapter specified by <code>SysInfoData</code>.<br/><br/>The string value will be one of <code>Ethernet</code>, <code>Wireless</code> or <code>Other</code>. The number value will be one of <code>6</code> (Ethernet), <code>71</code> (Wireless), or some other number in the range 0-280 (Other). The meaning of numeric codes other than 6 and 71 can be found at: <a href="https://docs.microsoft.com/windows/win32/api/iptypes/ns-iptypes-ip_adapter_info">docs.microsoft.com Adapter Info</a>.<br/><br/></li>
<li><code>ADAPTER_TYPE</code> : [String and Number] The type of network adapter specified by <code>SysInfoData</code>.<br/><br/>The string value will be one of <code>Ethernet</code>, <code>Wireless</code> or <code>Other</code>. The number value will be one of <code>6</code> (Ethernet), <code>71</code> (Wireless), or some other number in the range 0-280 (Other). The meaning of numeric codes other than 6 and 71 can be found at: <a href="https://learn.microsoft.com/windows/win32/api/iptypes/ns-iptypes-ip_adapter_info">learn.microsoft.com Adapter Info</a>.<br/><br/></li>
<li><code>ADAPTER_ALIAS</code> : [String] The network interface connected to by the network adapter specified by <code>SysInfoData</code>. Examples are <code>Ethernet 1</code> or <code>WiFi 3</code>.</li>
<li><code>ADAPTER_GUID</code> : [String] The GUID of the network adapter specified by <code>SysInfoData</code>.</li>
<li><code>ADAPTER_STATE</code> : [String and Number] Gets the "media connected state" of the network adapter specified by <code>SysInfoData</code>. This works for physical and non-physical adapters. The number value will return 1 for connected, and -1 for disconnected. The string value will return Connected or Disconnected. Any other state returns 0 and Unknown.</li>
Expand Down
6 changes: 3 additions & 3 deletions source/manual/measures/time.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ <h2>Options</h2>
<em>Tuesday, January 27, 2015 3:22:30 PM</em></li>
</ul>

<p>If Format is not defined, the <a href="!measures/#Values">string value</a> returned is in the default format <code>%H:%M:%S</code>, however the <a href="!measures/#Values">number value</a> will be a <a href="https://docs.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime">Windows timestamp</a>. If Format is defined, the number value will be the value defined by the format, or zero if the format does not define a numeric value.</p>
<p>If Format is not defined, the <a href="!measures/#Values">string value</a> returned is in the default format <code>%H:%M:%S</code>, however the <a href="!measures/#Values">number value</a> will be a <a href="https://learn.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime">Windows timestamp</a>. If Format is defined, the number value will be the value defined by the format, or zero if the format does not define a numeric value.</p>

<p><b>Note:</b> If a Format option is defined, the Windows timestamp value of the measure can still be retrieved and used with the <a href="!variables/section-variables/#Timestamp">[MeasureName:Timestamp]</a> section variable measure modifier.</p>
</dd>
Expand All @@ -36,7 +36,7 @@ <h2>Options</h2>

<h4 id="TimeStampValue">A numeric Windows timestamp.</h4>

<p>If TimeStamp is a numeric <a href="https://docs.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime">Windows timestamp</a> or a <a href="!formulas/">formula</a> defining a Windows timestamp, then this number, in one-second increments since January 1, 1601, will be used as the basis for measuring the date and time.</p>
<p>If TimeStamp is a numeric <a href="https://learn.microsoft.com/windows/win32/api/minwinbase/ns-minwinbase-filetime">Windows timestamp</a> or a <a href="!formulas/">formula</a> defining a Windows timestamp, then this number, in one-second increments since January 1, 1601, will be used as the basis for measuring the date and time.</p>

<h4 id="TimeStampDST">Daylight Saving Time codes</h4>

Expand Down Expand Up @@ -109,7 +109,7 @@ <h4 id="TimeStampString">A formatted date and time string.</h4>
<code>TimeStampFormat=%A, %d. %b %Y %H:%M:%S</code><br/>
<code>TimeStampLocale=de-DE</code></p>

<p>The values for this option can be found at <a href="https://docs.microsoft.com/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c">[MS-LCID]: Windows Language Code Identifier (LCID) Reference</a>. The values in the columns "Culture Name" or "Language Name Abbreviation" or "Language" can be used. Be sure to select your Windows version from the pull-down on the top left to get the most accurate information.<p>
<p>The values for this option can be found at <a href="https://learn.microsoft.com/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c">[MS-LCID]: Windows Language Code Identifier (LCID) Reference</a>. The values in the columns "Culture Name" or "Language Name Abbreviation" or "Language" can be used. Be sure to select your Windows version from the pull-down on the top left to get the most accurate information.<p>

<p><b>Hint:</b> In addition, a combination of "Language", an "_" underscore, "Country" (from inside the parentheses in the "Locale" column) a "." dot and the value of the "ANSI Codepage" column can be used to be <em>very</em> specific.<p>

Expand Down
2 changes: 1 addition & 1 deletion source/manual/measures/webparser.html
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ <h2>Options</h2>

<p>In addition, there are times when an external local file to be parsed with URL=file:// will be encoded in other than the ANSI (really ASCII plus "extended ASCII" specific to the locale of the computer) encoding used as the default in most Windows-based text editors. Primarily this will be in Unicode UFT-16 LE. In this case, the <code>CodePage=1200</code> option must be used to tell WebParer how to interpret the resource being read.</p>

<p>Codepage definitions and more information can be found at <a href="https://docs.microsoft.com/windows/win32/intl/code-page-identifiers">Code Page Identifiers</a>.</p>
<p>Codepage definitions and more information can be found at <a href="https://learn.microsoft.com/windows/win32/intl/code-page-identifiers">Code Page Identifiers</a>.</p>

<p>Additional general help with Unicode encoding in Rainmeter can be found at <a href="https://docs.rainmeter.net/tips/unicode-in-rainmeter/">Unicode in Rainmeter</a>.</p>
</dd>
Expand Down
2 changes: 1 addition & 1 deletion source/manual/plugins/audiolevel.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

<p>This can be used to create a volume level <a href="https://en.wikipedia.org/wiki/VU_meter">VU Meter</a> for defined channels, or optionally can filter the audio stream into distinct <a href="https://en.wikipedia.org/wiki/Audio_frequency">frequency</a> bands to create a <a href="https://en.wikipedia.org/wiki/Spectrum_analyzer">Spectrum Analyzer</a>.</p>

<p><em>The plugin monitors the amplitude of the post-mixer signal at a Windows audio endpoint. (i.e. sound card speaker output, USB audio interface, headphone port, microphone input) It does this by creating a <a href="https://docs.microsoft.com/windows/win32/coreaudio/wasapi">WASAPI</a> capture client in <a href="https://docs.microsoft.com/windows/win32/coreaudio/loopback-recording">loopback mode</a>. The capture client streams audio data to the plugin where it can be filtered and measured. The resulting volume level is returned by the plugin for use in Rainmeter measures and meters.</em></p>
<p><em>The plugin monitors the amplitude of the post-mixer signal at a Windows audio endpoint. (i.e. sound card speaker output, USB audio interface, headphone port, microphone input) It does this by creating a <a href="https://learn.microsoft.com/windows/win32/coreaudio/wasapi">WASAPI</a> capture client in <a href="https://learn.microsoft.com/windows/win32/coreaudio/loopback-recording">loopback mode</a>. The capture client streams audio data to the plugin where it can be filtered and measured. The resulting volume level is returned by the plugin for use in Rainmeter measures and meters.</em></p>

<div class="alert alert-info alert-tight" role="alert">
<h2 class="alert-heading h5" id="UpdateNote"><i class="fa-solid fa-thumbtack"></i> Note:</h2>
Expand Down
2 changes: 1 addition & 1 deletion source/manual/plugins/deprecated/perfmon.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
permalink: manual/plugins/deprecated/perfmon/
title: 'PerfMon plugin'
---
<p><code>Plugin=PerfMon</code> retrieves infromation from the <a href="https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/dd744567(v=ws.10)">Windows Performance Monitor</a>.</p>
<p><code>Plugin=PerfMon</code> retrieves infromation from the <a href="https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/dd744567(v=ws.10)">Windows Performance Monitor</a>.</p>

<h2>Plugin Deprecated</h2>

Expand Down
2 changes: 1 addition & 1 deletion source/manual/plugins/power.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ <h2>Options</h2>
<ul>
<li><code>ACLine</code>: 0 for battery or 1 when plugged in.</li>
<li><code>Status</code>: 0 for no battery, 1 for charging, 2 for critical, 3 for low, or 4 for above low.</li>
<li><code>Status2</code>: Equal to BatteryFlag in <a href="https://docs.microsoft.com/windows/win32/api/winbase/ns-winbase-system_power_status">SYSTEM_POWER_STATUS</a>.</li>
<li><code>Status2</code>: Equal to BatteryFlag in <a href="https://learn.microsoft.com/windows/win32/api/winbase/ns-winbase-system_power_status">SYSTEM_POWER_STATUS</a>.</li>
<li><code>Lifetime</code>: Battery lifetime.</li>
<li><code>Percent</code>: Battery lifetime as a percentage.</li>
<li><code>Hz</code>: CPU rated frequency in Hz.</li>
Expand Down
2 changes: 1 addition & 1 deletion source/manual/plugins/usagemonitor.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
permalink: manual/plugins/usagemonitor/
title: 'UsageMonitor plugin'
---
<p><code>Plugin=UsageMonitor</code> retrieves information from the <a href="https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/dd744567(v=ws.10)">Windows Performance Monitor</a>.</p>
<p><code>Plugin=UsageMonitor</code> retrieves information from the <a href="https://learn.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-r2-and-2008/dd744567(v=ws.10)">Windows Performance Monitor</a>.</p>

<p>The Windows Performance Monitor exposes counters, which monitor various kinds of system metrics in different categories, and tracks their usage. All available counters can be viewed using the Performance Monitor application. To open it, run Perfmon.exe.</p>

Expand Down
Loading