@bobfrankston/msger 0.1.73 → 0.1.75
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/KNOWN-BUGS.md +121 -0
- package/MSGER-API-SUMMARY.md +162 -0
- package/MSGER-API.md +376 -0
- package/README.md +93 -0
- package/SESSION-2025-11-06.md +191 -0
- package/SESSION-NOTES.md +678 -0
- package/clihandler.d.ts.map +1 -1
- package/clihandler.js +62 -2
- package/clihandler.js.map +1 -1
- package/clihandler.ts +60 -2
- package/icon.png +0 -0
- package/icon1.png +0 -0
- package/msger-native/Cargo.toml +1 -0
- package/msger-native/bin/msgernative.exe +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Breadcrumbs +12 -118
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/BrowserMetrics/{BrowserMetrics-690552AF-DCD4.pma → BrowserMetrics-690B9AD3-657C.pma} +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/BrowserMetrics/{BrowserMetrics-69055373-F88C.pma → BrowserMetrics-690BA05A-501C.pma} +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Crashpad/settings.dat +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/BrowsingTopicsState +1 -1
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/{BrowserMetrics/BrowserMetrics-69055587-A65C.pma → Default/Cache/Cache_Data/data_2} +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/data_3 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000001 +383 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000002 +1091 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000003 +2153 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000004 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000005 +626 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/f_000006 +393 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Cache/Cache_Data/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/01241693cfdc32b9_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/0ba1eea781f3552c_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/323aa210eebefe2c_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/4608446ac118e77a_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/6938205dc2f77841_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/6de12299dc89e5f3_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/8f403c112eaa455b_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/9a3aceb491137f07_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/aedb266cbaf9c28f_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/ca526fdda86d0b9d_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/f5d11d783c9fdf69_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Code Cache/js/index-dir/the-real-index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Collections/collectionsSQLite +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Collections/collectionsSQLite-journal +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DIPS +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnGraphiteCache/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnGraphiteCache/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnWebGPUCache/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/DawnWebGPUCache/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Extension State/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Extension State/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Favicons +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/data_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/data_2 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/GPUCache/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/History +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Local Storage/leveldb/000003.log +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/MediaDeviceSalts +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/MediaDeviceSalts-journal +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Network/Network Persistent State +1 -1
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Network/TransportSecurity +1 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Preferences +1 -1
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/CacheStorage/14e849fa8522d406112ea607cf7fd6342b71b987/249ee9af-c3df-4a86-89a8-2c51f3370ee0/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/CacheStorage/14e849fa8522d406112ea607cf7fd6342b71b987/249ee9af-c3df-4a86-89a8-2c51f3370ee0/index-dir/the-real-index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/CacheStorage/14e849fa8522d406112ea607cf7fd6342b71b987/index.txt +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/000003.log +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/CURRENT +1 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/LOCK +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/LOG +3 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/LOG.old +3 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/Database/MANIFEST-000001 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Session Storage/000003.log +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Session Storage/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Session Storage/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Site Characteristics Database/000003.log +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager-journal +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/favorites_diagnostic.log +27 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/000003.log +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/000003.log +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/LOG +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/LOG.old +3 -3
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/data_0 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/data_3 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/f_000003 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/f_000004 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GrShaderCache/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GraphiteDawnCache/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/GraphiteDawnCache/index +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/Local State +1 -1
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/RevisitationBloomfilter +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/ShaderCache/data_1 +0 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/ShaderCache/index +0 -0
- package/msger-native/src/main.rs +343 -37
- package/msger-native/src/template.html +103 -28
- package/msger-storage-demo.html +290 -0
- package/msger.code-workspace +3 -0
- package/msgerdefs/README.md +122 -0
- package/msgerdefs/msgerdefs.d.ts +322 -0
- package/msgerdefs/msgerdefs.d.ts.map +1 -0
- package/msgerdefs/msgerdefs.js +110 -0
- package/msgerdefs/msgerdefs.js.map +1 -0
- package/msgerdefs/msgerdefs.ts +427 -0
- package/msgerdefs/package.json +38 -0
- package/msgerdefs/samples.html +431 -0
- package/msgerdefs/test1.cmd +1 -0
- package/msgerdefs/tsconfig.json +17 -0
- package/msgernative-linux-x64 +0 -0
- package/package.json +5 -1
- package/shower.d.ts +2 -0
- package/shower.d.ts.map +1 -1
- package/shower.js +17 -0
- package/shower.js.map +1 -1
- package/shower.ts +24 -0
- package/test-data-persistence.html +315 -0
- package/test-htmlfrom.html +29 -0
- package/test-ipc-reach.html +113 -0
- package/test-msger-api.html +120 -0
- package/test-msger-functions.html +325 -0
- package/msger-native/bin/msgernative.exe.WebView2/EBWebView/BrowserMetrics/BrowserMetrics-69055419-C8A0.pma +0 -0
package/clihandler.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import packageJson from './package.json' with { type: 'json' };
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { execSync } from 'child_process';
|
|
2
5
|
const HELP_TEXT = `
|
|
3
6
|
msger v${packageJson.version} - Fast, lightweight, cross-platform message box (Rust-powered)
|
|
4
7
|
|
|
@@ -11,8 +14,9 @@ Options:
|
|
|
11
14
|
-message <text> Specify message text (use quotes for multi-word)
|
|
12
15
|
Supports ANSI color escape sequences (e.g., \x1b[31mRed\x1b[0m)
|
|
13
16
|
-title <text> Set window title
|
|
14
|
-
-html <html> Display HTML formatted message
|
|
15
|
-
-
|
|
17
|
+
-html <html> Display HTML formatted message (inline)
|
|
18
|
+
-htmlfrom <file|url> Fetch HTML from file/URL and embed in template (has buttons & msger API)
|
|
19
|
+
-url <url> Load URL directly in webview (no template, no buttons)
|
|
16
20
|
-buttons <label...> Specify button labels (e.g., -buttons Yes No Cancel)
|
|
17
21
|
-ok Add OK button
|
|
18
22
|
-cancel Add Cancel button
|
|
@@ -22,10 +26,12 @@ Options:
|
|
|
22
26
|
-zoom <percent> Set zoom level as percentage (e.g., -zoom 150 for 150%)
|
|
23
27
|
-pos <x,y> Set window position (e.g., -pos 100,200)
|
|
24
28
|
-screen <number> [Windows only] Screen index for multi-monitor (0=primary, 1=second, etc.)
|
|
29
|
+
-icon <path> Set window icon (PNG file). Default: icon.png in current directory
|
|
25
30
|
-timeout <seconds> Auto-close after specified seconds
|
|
26
31
|
-detach Leave window open after app exits (parent process returns immediately)
|
|
27
32
|
-fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
|
|
28
33
|
-ontop Keep window always on top of other windows
|
|
34
|
+
-dev Open DevTools (F12) automatically on startup (for debugging)
|
|
29
35
|
-debug Return debug info (HTML, size) in result
|
|
30
36
|
-v, -version, --version Show version number
|
|
31
37
|
-help, -?, --help Show this help message
|
|
@@ -35,6 +41,8 @@ Examples:
|
|
|
35
41
|
msger -message "Save changes?" -buttons Yes No Cancel
|
|
36
42
|
msger -message "Enter your name:" -input "Your name" -default "John Doe"
|
|
37
43
|
msger -html "<h1>Title</h1><p>Formatted content</p>"
|
|
44
|
+
msger -htmlfrom page.html -buttons OK Cancel
|
|
45
|
+
msger -htmlfrom "https://example.com" -buttons OK
|
|
38
46
|
msger -url "https://example.com"
|
|
39
47
|
msger -url "https://example.com" -detach
|
|
40
48
|
msger -title "Alert" -message "Operation complete"
|
|
@@ -48,6 +56,11 @@ Notes:
|
|
|
48
56
|
- Press Enter to click the last (default) button
|
|
49
57
|
- Default button is OK if no buttons specified
|
|
50
58
|
- Much faster than Electron-based msgview (~50-200ms vs ~2-3s startup)
|
|
59
|
+
|
|
60
|
+
Security Note:
|
|
61
|
+
- msger is designed for displaying trusted, friendly content (local apps, your own HTML)
|
|
62
|
+
- It is NOT a secure sandbox for untrusted/hostile web content
|
|
63
|
+
- Use -htmlfrom and -url with trusted sources only
|
|
51
64
|
`;
|
|
52
65
|
/**
|
|
53
66
|
* Parse command line arguments into message box options
|
|
@@ -82,6 +95,10 @@ export function parseCliArgs(args) {
|
|
|
82
95
|
cli.html = args[++i];
|
|
83
96
|
i++;
|
|
84
97
|
}
|
|
98
|
+
else if (arg === '-htmlfrom' || arg === '--htmlfrom') {
|
|
99
|
+
cli.htmlFrom = args[++i];
|
|
100
|
+
i++;
|
|
101
|
+
}
|
|
85
102
|
else if (arg === '-url' || arg === '--url') {
|
|
86
103
|
cli.url = args[++i];
|
|
87
104
|
i++;
|
|
@@ -160,6 +177,14 @@ export function parseCliArgs(args) {
|
|
|
160
177
|
cli.screen = parseInt(args[++i], 10);
|
|
161
178
|
i++;
|
|
162
179
|
}
|
|
180
|
+
else if (arg === '-icon' || arg === '--icon') {
|
|
181
|
+
cli.icon = args[++i];
|
|
182
|
+
i++;
|
|
183
|
+
}
|
|
184
|
+
else if (arg === '-dev' || arg === '--dev') {
|
|
185
|
+
cli.dev = true;
|
|
186
|
+
i++;
|
|
187
|
+
}
|
|
163
188
|
else if (arg === '-debug' || arg === '--debug') {
|
|
164
189
|
cli.debug = true;
|
|
165
190
|
i++;
|
|
@@ -184,6 +209,39 @@ export function parseCliArgs(args) {
|
|
|
184
209
|
message = cli.url;
|
|
185
210
|
url = cli.url;
|
|
186
211
|
}
|
|
212
|
+
else if (cli.htmlFrom) {
|
|
213
|
+
// Load HTML from file or URL
|
|
214
|
+
if (cli.htmlFrom.startsWith('http://') || cli.htmlFrom.startsWith('https://')) {
|
|
215
|
+
// Fetch from URL synchronously (using child_process to run node fetch)
|
|
216
|
+
try {
|
|
217
|
+
const fetchCommand = `node --input-type=module -e "const res = await fetch('${cli.htmlFrom}'); console.log(await res.text())"`;
|
|
218
|
+
const htmlContent = execSync(fetchCommand, { encoding: 'utf-8' });
|
|
219
|
+
message = htmlContent;
|
|
220
|
+
html = htmlContent;
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
throw new Error(`Failed to fetch HTML from URL: ${error.message}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// Load from file
|
|
228
|
+
// Resolve to absolute path
|
|
229
|
+
const htmlPath = path.resolve(cli.htmlFrom);
|
|
230
|
+
// Check if file exists
|
|
231
|
+
if (!fs.existsSync(htmlPath)) {
|
|
232
|
+
throw new Error(`HTML file not found: ${htmlPath}`);
|
|
233
|
+
}
|
|
234
|
+
// Read file content
|
|
235
|
+
try {
|
|
236
|
+
const htmlContent = fs.readFileSync(htmlPath, 'utf-8');
|
|
237
|
+
message = htmlContent;
|
|
238
|
+
html = htmlContent;
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
throw new Error(`Failed to read HTML file: ${error.message}`);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
187
245
|
else if (cli.html) {
|
|
188
246
|
// HTML message specified
|
|
189
247
|
message = cli.html;
|
|
@@ -219,6 +277,8 @@ export function parseCliArgs(args) {
|
|
|
219
277
|
fullscreen: cli.fullscreen,
|
|
220
278
|
alwaysOnTop: cli.alwaysOnTop,
|
|
221
279
|
zoomPercent: cli.zoomPercent,
|
|
280
|
+
icon: cli.icon,
|
|
281
|
+
dev: cli.dev,
|
|
222
282
|
debug: cli.debug
|
|
223
283
|
};
|
|
224
284
|
// Only set size if explicitly specified
|
package/clihandler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"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"}
|
package/clihandler.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { MessageBoxOptions } from './shower.js';
|
|
2
2
|
import packageJson from './package.json' with { type: 'json' };
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import { execSync } from 'child_process';
|
|
3
6
|
|
|
4
7
|
interface CliOptions {
|
|
5
8
|
message?: string;
|
|
6
9
|
title?: string;
|
|
7
10
|
html?: string;
|
|
11
|
+
htmlFrom?: string;
|
|
8
12
|
url?: string;
|
|
9
13
|
buttons?: string[];
|
|
10
14
|
input?: boolean;
|
|
@@ -21,6 +25,8 @@ interface CliOptions {
|
|
|
21
25
|
posY?: number;
|
|
22
26
|
screen?: number;
|
|
23
27
|
debug?: boolean;
|
|
28
|
+
icon?: string;
|
|
29
|
+
dev?: boolean;
|
|
24
30
|
help?: boolean;
|
|
25
31
|
version?: boolean;
|
|
26
32
|
}
|
|
@@ -37,8 +43,9 @@ Options:
|
|
|
37
43
|
-message <text> Specify message text (use quotes for multi-word)
|
|
38
44
|
Supports ANSI color escape sequences (e.g., \x1b[31mRed\x1b[0m)
|
|
39
45
|
-title <text> Set window title
|
|
40
|
-
-html <html> Display HTML formatted message
|
|
41
|
-
-
|
|
46
|
+
-html <html> Display HTML formatted message (inline)
|
|
47
|
+
-htmlfrom <file|url> Fetch HTML from file/URL and embed in template (has buttons & msger API)
|
|
48
|
+
-url <url> Load URL directly in webview (no template, no buttons)
|
|
42
49
|
-buttons <label...> Specify button labels (e.g., -buttons Yes No Cancel)
|
|
43
50
|
-ok Add OK button
|
|
44
51
|
-cancel Add Cancel button
|
|
@@ -48,10 +55,12 @@ Options:
|
|
|
48
55
|
-zoom <percent> Set zoom level as percentage (e.g., -zoom 150 for 150%)
|
|
49
56
|
-pos <x,y> Set window position (e.g., -pos 100,200)
|
|
50
57
|
-screen <number> [Windows only] Screen index for multi-monitor (0=primary, 1=second, etc.)
|
|
58
|
+
-icon <path> Set window icon (PNG file). Default: icon.png in current directory
|
|
51
59
|
-timeout <seconds> Auto-close after specified seconds
|
|
52
60
|
-detach Leave window open after app exits (parent process returns immediately)
|
|
53
61
|
-fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
|
|
54
62
|
-ontop Keep window always on top of other windows
|
|
63
|
+
-dev Open DevTools (F12) automatically on startup (for debugging)
|
|
55
64
|
-debug Return debug info (HTML, size) in result
|
|
56
65
|
-v, -version, --version Show version number
|
|
57
66
|
-help, -?, --help Show this help message
|
|
@@ -61,6 +70,8 @@ Examples:
|
|
|
61
70
|
msger -message "Save changes?" -buttons Yes No Cancel
|
|
62
71
|
msger -message "Enter your name:" -input "Your name" -default "John Doe"
|
|
63
72
|
msger -html "<h1>Title</h1><p>Formatted content</p>"
|
|
73
|
+
msger -htmlfrom page.html -buttons OK Cancel
|
|
74
|
+
msger -htmlfrom "https://example.com" -buttons OK
|
|
64
75
|
msger -url "https://example.com"
|
|
65
76
|
msger -url "https://example.com" -detach
|
|
66
77
|
msger -title "Alert" -message "Operation complete"
|
|
@@ -74,6 +85,11 @@ Notes:
|
|
|
74
85
|
- Press Enter to click the last (default) button
|
|
75
86
|
- Default button is OK if no buttons specified
|
|
76
87
|
- Much faster than Electron-based msgview (~50-200ms vs ~2-3s startup)
|
|
88
|
+
|
|
89
|
+
Security Note:
|
|
90
|
+
- msger is designed for displaying trusted, friendly content (local apps, your own HTML)
|
|
91
|
+
- It is NOT a secure sandbox for untrusted/hostile web content
|
|
92
|
+
- Use -htmlfrom and -url with trusted sources only
|
|
77
93
|
`;
|
|
78
94
|
|
|
79
95
|
/**
|
|
@@ -107,6 +123,9 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
|
|
|
107
123
|
} else if (arg === '-html' || arg === '--html') {
|
|
108
124
|
cli.html = args[++i];
|
|
109
125
|
i++;
|
|
126
|
+
} else if (arg === '-htmlfrom' || arg === '--htmlfrom') {
|
|
127
|
+
cli.htmlFrom = args[++i];
|
|
128
|
+
i++;
|
|
110
129
|
} else if (arg === '-url' || arg === '--url') {
|
|
111
130
|
cli.url = args[++i];
|
|
112
131
|
i++;
|
|
@@ -167,6 +186,12 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
|
|
|
167
186
|
} else if (arg === '-screen' || arg === '--screen') {
|
|
168
187
|
cli.screen = parseInt(args[++i], 10);
|
|
169
188
|
i++;
|
|
189
|
+
} else if (arg === '-icon' || arg === '--icon') {
|
|
190
|
+
cli.icon = args[++i];
|
|
191
|
+
i++;
|
|
192
|
+
} else if (arg === '-dev' || arg === '--dev') {
|
|
193
|
+
cli.dev = true;
|
|
194
|
+
i++;
|
|
170
195
|
} else if (arg === '-debug' || arg === '--debug') {
|
|
171
196
|
cli.debug = true;
|
|
172
197
|
i++;
|
|
@@ -190,6 +215,37 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
|
|
|
190
215
|
// URL specified
|
|
191
216
|
message = cli.url;
|
|
192
217
|
url = cli.url;
|
|
218
|
+
} else if (cli.htmlFrom) {
|
|
219
|
+
// Load HTML from file or URL
|
|
220
|
+
if (cli.htmlFrom.startsWith('http://') || cli.htmlFrom.startsWith('https://')) {
|
|
221
|
+
// Fetch from URL synchronously (using child_process to run node fetch)
|
|
222
|
+
try {
|
|
223
|
+
const fetchCommand = `node --input-type=module -e "const res = await fetch('${cli.htmlFrom}'); console.log(await res.text())"`;
|
|
224
|
+
const htmlContent = execSync(fetchCommand, { encoding: 'utf-8' });
|
|
225
|
+
message = htmlContent;
|
|
226
|
+
html = htmlContent;
|
|
227
|
+
} catch (error: any) {
|
|
228
|
+
throw new Error(`Failed to fetch HTML from URL: ${error.message}`);
|
|
229
|
+
}
|
|
230
|
+
} else {
|
|
231
|
+
// Load from file
|
|
232
|
+
// Resolve to absolute path
|
|
233
|
+
const htmlPath = path.resolve(cli.htmlFrom);
|
|
234
|
+
|
|
235
|
+
// Check if file exists
|
|
236
|
+
if (!fs.existsSync(htmlPath)) {
|
|
237
|
+
throw new Error(`HTML file not found: ${htmlPath}`);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
// Read file content
|
|
241
|
+
try {
|
|
242
|
+
const htmlContent = fs.readFileSync(htmlPath, 'utf-8');
|
|
243
|
+
message = htmlContent;
|
|
244
|
+
html = htmlContent;
|
|
245
|
+
} catch (error: any) {
|
|
246
|
+
throw new Error(`Failed to read HTML file: ${error.message}`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
193
249
|
} else if (cli.html) {
|
|
194
250
|
// HTML message specified
|
|
195
251
|
message = cli.html;
|
|
@@ -224,6 +280,8 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
|
|
|
224
280
|
fullscreen: cli.fullscreen,
|
|
225
281
|
alwaysOnTop: cli.alwaysOnTop,
|
|
226
282
|
zoomPercent: cli.zoomPercent,
|
|
283
|
+
icon: cli.icon,
|
|
284
|
+
dev: cli.dev,
|
|
227
285
|
debug: cli.debug
|
|
228
286
|
};
|
|
229
287
|
|
package/icon.png
ADDED
|
Binary file
|
package/icon1.png
ADDED
|
Binary file
|
package/msger-native/Cargo.toml
CHANGED
|
Binary file
|
|
@@ -1,33 +1,8 @@
|
|
|
1
|
-
0:00:02 Tab1 StartNav2 #link
|
|
2
|
-
0:00:03 Tab1 FinishNav2
|
|
3
|
-
0:00:03 Tab1 PageLoad
|
|
4
|
-
0:00:08 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
5
|
-
0:00:00 Startup
|
|
6
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
7
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
8
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
9
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
10
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
11
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
12
|
-
0:00:01 Tab1 FinishNav1
|
|
13
1
|
0:00:01 Tab1 PageLoad
|
|
14
|
-
0:00:01 Tab1 StartNav2 #
|
|
2
|
+
0:00:01 Tab1 StartNav2 #typed
|
|
15
3
|
0:00:01 Tab1 FinishNav2
|
|
16
|
-
0:00:
|
|
17
|
-
0:00:
|
|
18
|
-
0:00:00 Startup
|
|
19
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
20
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
21
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
22
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
23
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
24
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
25
|
-
0:00:01 Tab1 FinishNav1
|
|
26
|
-
0:00:01 Tab1 PageLoad
|
|
27
|
-
0:00:01 Tab1 StartNav2 #link
|
|
28
|
-
0:00:01 Tab1 FinishNav2
|
|
29
|
-
0:00:01 Tab1 PageLoad
|
|
30
|
-
0:00:14 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
4
|
+
0:00:02 Tab1 PageLoad
|
|
5
|
+
0:00:33 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
31
6
|
0:00:00 Startup
|
|
32
7
|
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
33
8
|
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
@@ -37,36 +12,10 @@
|
|
|
37
12
|
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
38
13
|
0:00:00 Tab1 FinishNav1
|
|
39
14
|
0:00:00 Tab1 PageLoad
|
|
40
|
-
0:00:00 Tab1 StartNav2 #
|
|
41
|
-
0:00:
|
|
42
|
-
0:00:01 Tab1 PageLoad
|
|
43
|
-
0:00:19 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
44
|
-
0:00:00 Startup
|
|
45
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
46
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
47
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
48
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
49
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
50
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
51
|
-
0:00:00 Tab1 FinishNav1
|
|
15
|
+
0:00:00 Tab1 StartNav2 #typed
|
|
16
|
+
0:00:00 Tab1 FinishNav2
|
|
52
17
|
0:00:00 Tab1 PageLoad
|
|
53
|
-
0:00:
|
|
54
|
-
0:00:01 Tab1 FinishNav2
|
|
55
|
-
0:00:01 Tab1 PageLoad
|
|
56
|
-
0:00:09 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
57
|
-
0:00:00 Startup
|
|
58
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
59
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
60
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
61
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
62
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
63
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
64
|
-
0:00:01 Tab1 FinishNav1
|
|
65
|
-
0:00:01 Tab1 PageLoad
|
|
66
|
-
0:00:01 Tab1 StartNav2 #link
|
|
67
|
-
0:00:01 Tab1 FinishNav2
|
|
68
|
-
0:00:01 Tab1 PageLoad
|
|
69
|
-
0:00:13 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
18
|
+
0:00:06 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
70
19
|
0:00:00 Startup
|
|
71
20
|
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
72
21
|
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
@@ -76,24 +25,10 @@
|
|
|
76
25
|
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
77
26
|
0:00:00 Tab1 FinishNav1
|
|
78
27
|
0:00:00 Tab1 PageLoad
|
|
79
|
-
0:00:
|
|
80
|
-
0:00:
|
|
81
|
-
0:00:
|
|
82
|
-
0:
|
|
83
|
-
0:00:00 Startup
|
|
84
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
85
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
86
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
87
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
88
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
89
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
90
|
-
0:00:01 Tab1 FinishNav1
|
|
91
|
-
0:00:01 Tab1 PageLoad
|
|
92
|
-
0:00:01 Memory Pressure: Critical
|
|
93
|
-
0:00:01 Tab1 StartNav2 #link
|
|
94
|
-
0:00:01 Tab1 FinishNav2
|
|
95
|
-
0:00:01 Tab1 PageLoad
|
|
96
|
-
0:00:09 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
28
|
+
0:00:00 Tab1 StartNav2 #typed
|
|
29
|
+
0:00:00 Tab1 FinishNav2
|
|
30
|
+
0:00:00 Tab1 PageLoad
|
|
31
|
+
0:07:39 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
97
32
|
0:00:00 Startup
|
|
98
33
|
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
99
34
|
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
@@ -103,48 +38,7 @@
|
|
|
103
38
|
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
104
39
|
0:00:00 Tab1 FinishNav1
|
|
105
40
|
0:00:00 Tab1 PageLoad
|
|
106
|
-
0:00:00 Tab1 StartNav2 #
|
|
107
|
-
0:00:
|
|
108
|
-
0:00:01 Tab1 PageLoad
|
|
109
|
-
0:00:08 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
110
|
-
0:00:00 Startup
|
|
111
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
112
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
113
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
114
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
115
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
116
|
-
0:00:01 Tab1 StartNav1 #auto_toplevel
|
|
117
|
-
0:00:01 Tab1 FinishNav1
|
|
41
|
+
0:00:00 Tab1 StartNav2 #typed
|
|
42
|
+
0:00:00 Tab1 FinishNav2
|
|
118
43
|
0:00:01 Tab1 PageLoad
|
|
119
|
-
0:00:01 Memory Pressure: Critical
|
|
120
|
-
0:00:01 Tab1 StartNav2 #link
|
|
121
|
-
0:00:02 Tab1 FinishNav2
|
|
122
|
-
0:00:02 Tab1 PageLoad
|
|
123
44
|
0:00:10 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
124
|
-
0:00:00 Startup
|
|
125
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
126
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
127
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
128
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
129
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
130
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
131
|
-
0:00:01 Tab1 FinishNav1
|
|
132
|
-
0:00:01 Tab1 PageLoad
|
|
133
|
-
0:00:01 Memory Pressure: Critical
|
|
134
|
-
0:00:01 Tab1 StartNav2 #link
|
|
135
|
-
0:00:02 Tab1 FinishNav2
|
|
136
|
-
0:00:02 Tab1 PageLoad
|
|
137
|
-
0:00:08 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
138
|
-
0:00:00 Startup
|
|
139
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpEphemeralProfiles
|
|
140
|
-
0:00:00 Microsoft.DeleteProfileHelper.CleanUpDeletedProfiles
|
|
141
|
-
0:00:00 Microsoft.NewBrowser_Popup
|
|
142
|
-
0:00:00 Microsoft.BrowserList.AddBrowser
|
|
143
|
-
0:00:00 Browser1 Insert active Tab1 at 0
|
|
144
|
-
0:00:00 Tab1 StartNav1 #auto_toplevel
|
|
145
|
-
0:00:01 Tab1 FinishNav1
|
|
146
|
-
0:00:01 Tab1 PageLoad
|
|
147
|
-
0:00:01 Tab1 StartNav2 #link
|
|
148
|
-
0:00:01 Tab1 FinishNav2
|
|
149
|
-
0:00:01 Tab1 PageLoad
|
|
150
|
-
0:00:13 Microsoft.Shutdown.TabStripModel.SendDetachWebContentsNotifications
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
"top_topics_and_observing_domains": [ ]
|
|
16
16
|
} ],
|
|
17
17
|
"hex_encoded_hmac_key": "978A7D2D69153D2B503C8D793A12A004251F60082102E3C12E04FE867073E109",
|
|
18
|
-
"next_scheduled_calculation_time": "
|
|
18
|
+
"next_scheduled_calculation_time": "13406941874156560"
|
|
19
19
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|