@bobfrankston/msger 0.1.139 → 0.1.141
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/README.md +27 -0
- package/clihandler.js +9 -0
- package/clihandler.ts +10 -0
- package/cruft/msgerdefs/tsconfig.json +18 -0
- package/docs/TODO.md +24 -22
- package/msgerdefs/tsconfig.json +3 -3
- package/nul +1 -0
- package/package.json +1 -1
- /package/{msgerdefs → cruft/msgerdefs}/README.md +0 -0
- /package/{msgerdefs → cruft/msgerdefs}/msgerdefs.d.ts +0 -0
- /package/{msgerdefs → cruft/msgerdefs}/msgerdefs.js +0 -0
- /package/{msgerdefs → cruft/msgerdefs}/msgerdefs.ts +0 -0
- /package/{msgerdefs → cruft/msgerdefs}/package.json +0 -0
- /package/{msgerdefs → cruft/msgerdefs}/samples.html +0 -0
- /package/{msgerdefs → cruft/msgerdefs}/test1.cmd +0 -0
package/README.md
CHANGED
|
@@ -646,6 +646,33 @@ await showMessageBox({
|
|
|
646
646
|
|
|
647
647
|
For technical details and performance metrics, see [DEVELOPERS.md](DEVELOPERS.md).
|
|
648
648
|
|
|
649
|
+
## msger vs msgview
|
|
650
|
+
|
|
651
|
+
This package is the **Rust/wry-based** implementation. There's also **[@bobfrankston/msgview](https://www.npmjs.com/package/@bobfrankston/msgview)** - an Electron-based alternative with the same API.
|
|
652
|
+
|
|
653
|
+
| Aspect | msger (this) | msgview |
|
|
654
|
+
|--------|--------------|---------|
|
|
655
|
+
| **Startup** | ~50-200ms | ~2-3 seconds |
|
|
656
|
+
| **Size** | ~5-10MB | ~200MB |
|
|
657
|
+
| **Technology** | Rust + wry (WebView2/webkit2gtk) | Electron |
|
|
658
|
+
| **Pi/Linux** | ❌ Rendering issues | ✅ Perfect |
|
|
659
|
+
| **Windows/WSL** | ✅ Works | ✅ Works |
|
|
660
|
+
|
|
661
|
+
### When to use msger (this package)
|
|
662
|
+
- Speed is critical (CLI tools, automation)
|
|
663
|
+
- Small binary size matters
|
|
664
|
+
- Windows or WSL environment
|
|
665
|
+
|
|
666
|
+
### When to use msgview
|
|
667
|
+
- Running on Raspberry Pi or Linux
|
|
668
|
+
- Need reliable cross-platform rendering
|
|
669
|
+
- Prefer Electron ecosystem
|
|
670
|
+
|
|
671
|
+
### Planned: msgapi
|
|
672
|
+
Both packages will share a common JavaScript API (`window.msgapi`) for file system access, window manipulation, and bidirectional communication. See [TODO.md](TODO.md) for details.
|
|
673
|
+
|
|
674
|
+
For the complete feature comparison and roadmap, see the [shared TODO.md](../msgview/TODO.md) which tracks both projects.
|
|
675
|
+
|
|
649
676
|
---
|
|
650
677
|
|
|
651
678
|
# Additional Information
|
package/clihandler.js
CHANGED
|
@@ -159,6 +159,11 @@ export function parseCliArgs(args) {
|
|
|
159
159
|
cli.fullscreen = true;
|
|
160
160
|
i++;
|
|
161
161
|
}
|
|
162
|
+
else if (arg === '-full' || arg === '--full') {
|
|
163
|
+
// Track usage for validation (incompatible with -url)
|
|
164
|
+
cli.full = true;
|
|
165
|
+
i++;
|
|
166
|
+
}
|
|
162
167
|
else if (arg === '-no-escape-closes' || arg === '--no-escape-closes') {
|
|
163
168
|
cli.escapeCloses = false;
|
|
164
169
|
i++;
|
|
@@ -241,6 +246,10 @@ export function parseCliArgs(args) {
|
|
|
241
246
|
i++;
|
|
242
247
|
}
|
|
243
248
|
}
|
|
249
|
+
// Validate incompatible options
|
|
250
|
+
if (cli.full && cli.url) {
|
|
251
|
+
throw new Error('-full and -url cannot be used together. Did you mean -fullscreen?');
|
|
252
|
+
}
|
|
244
253
|
// Build the message
|
|
245
254
|
let message;
|
|
246
255
|
let html;
|
package/clihandler.ts
CHANGED
|
@@ -21,6 +21,7 @@ interface CliOptions {
|
|
|
21
21
|
timeout?: number;
|
|
22
22
|
detach?: boolean;
|
|
23
23
|
fullscreen?: boolean;
|
|
24
|
+
full?: boolean;
|
|
24
25
|
escapeCloses?: boolean;
|
|
25
26
|
reset?: boolean;
|
|
26
27
|
alwaysOnTop?: boolean;
|
|
@@ -189,6 +190,10 @@ export function parseCliArgs(args: string[]): {
|
|
|
189
190
|
} else if (arg === '-fullscreen' || arg === '--fullscreen') {
|
|
190
191
|
cli.fullscreen = true;
|
|
191
192
|
i++;
|
|
193
|
+
} else if (arg === '-full' || arg === '--full') {
|
|
194
|
+
// Track usage for validation (incompatible with -url)
|
|
195
|
+
cli.full = true;
|
|
196
|
+
i++;
|
|
192
197
|
} else if (arg === '-no-escape-closes' || arg === '--no-escape-closes') {
|
|
193
198
|
cli.escapeCloses = false;
|
|
194
199
|
i++;
|
|
@@ -252,6 +257,11 @@ export function parseCliArgs(args: string[]): {
|
|
|
252
257
|
}
|
|
253
258
|
}
|
|
254
259
|
|
|
260
|
+
// Validate incompatible options
|
|
261
|
+
if (cli.full && cli.url) {
|
|
262
|
+
throw new Error('-full and -url cannot be used together. Did you mean -fullscreen?');
|
|
263
|
+
}
|
|
264
|
+
|
|
255
265
|
// Build the message
|
|
256
266
|
let message: string;
|
|
257
267
|
let html: string | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2020",
|
|
4
|
+
"module": "ES2020",
|
|
5
|
+
"lib": ["ES2020", "DOM"],
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"outDir": ".",
|
|
8
|
+
"rootDir": ".",
|
|
9
|
+
"strict": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true,
|
|
13
|
+
"moduleResolution": "node",
|
|
14
|
+
"newline": "lf"
|
|
15
|
+
},
|
|
16
|
+
"include": ["msgerdefs.ts"],
|
|
17
|
+
"exclude": ["node_modules"]
|
|
18
|
+
}
|
package/docs/TODO.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# msger TODO List
|
|
2
2
|
|
|
3
|
+
> **📋 Feature Comparison:** See `Y:\dev\utils\msgview\TODO.md` for complete feature comparison table between msger and msgview
|
|
4
|
+
|
|
3
5
|
## Recent Session (2025-11-12) - Warning Cleanup
|
|
4
6
|
|
|
5
7
|
**Status:** ✅ COMPLETED - Version 0.1.95
|
|
@@ -562,25 +564,25 @@ None currently known!
|
|
|
562
564
|
- MSGER-API-SUMMARY.md - API reference
|
|
563
565
|
- msgerdefs/README.md - TypeScript package docs
|
|
564
566
|
- Update msgerdefs TypeScript definitions
|
|
565
|
-
|
|
566
|
-
### GTK/Linux Rendering Issue (Pi, WSL)
|
|
567
|
-
**Status:** 🔍 INVESTIGATING - See [PI-RENDERING-NOTES.md](PI-RENDERING-NOTES.md) for details
|
|
568
|
-
|
|
569
|
-
**Problem:**
|
|
570
|
-
- GTK window shows garbled rendering on Linux (Pi ARM64, WSL x64)
|
|
571
|
-
- Brief valid header appears, then screen corrupts
|
|
572
|
-
- Affects all webkit2gtk-based platforms
|
|
573
|
-
|
|
574
|
-
**Investigation:**
|
|
575
|
-
- Attempted `vbox.show_all()` / `vbox.show()` before `build_gtk()` - failed (requires gtk::prelude import)
|
|
576
|
-
- WebView framework alternatives documented in PI-RENDERING-NOTES.md
|
|
577
|
-
- Consider trying Tauri framework (built on wry with better GTK handling)
|
|
578
|
-
|
|
579
|
-
**Current Workaround:**
|
|
580
|
-
- Windows build works perfectly
|
|
581
|
-
- Linux builds compile but rendering broken
|
|
582
|
-
|
|
583
|
-
**Next Steps:**
|
|
584
|
-
- Research Tauri framework as wry replacement
|
|
585
|
-
- Check wry GitHub issues for similar GTK rendering bugs
|
|
586
|
-
- Consider webkit2gtk direct integration for more control
|
|
567
|
+
|
|
568
|
+
### GTK/Linux Rendering Issue (Pi, WSL)
|
|
569
|
+
**Status:** 🔍 INVESTIGATING - See [PI-RENDERING-NOTES.md](PI-RENDERING-NOTES.md) for details
|
|
570
|
+
|
|
571
|
+
**Problem:**
|
|
572
|
+
- GTK window shows garbled rendering on Linux (Pi ARM64, WSL x64)
|
|
573
|
+
- Brief valid header appears, then screen corrupts
|
|
574
|
+
- Affects all webkit2gtk-based platforms
|
|
575
|
+
|
|
576
|
+
**Investigation:**
|
|
577
|
+
- Attempted `vbox.show_all()` / `vbox.show()` before `build_gtk()` - failed (requires gtk::prelude import)
|
|
578
|
+
- WebView framework alternatives documented in PI-RENDERING-NOTES.md
|
|
579
|
+
- Consider trying Tauri framework (built on wry with better GTK handling)
|
|
580
|
+
|
|
581
|
+
**Current Workaround:**
|
|
582
|
+
- Windows build works perfectly
|
|
583
|
+
- Linux builds compile but rendering broken
|
|
584
|
+
|
|
585
|
+
**Next Steps:**
|
|
586
|
+
- Research Tauri framework as wry replacement
|
|
587
|
+
- Check wry GitHub issues for similar GTK rendering bugs
|
|
588
|
+
- Consider webkit2gtk direct integration for more control
|
package/msgerdefs/tsconfig.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
s
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"target": "ES2020",
|
|
4
4
|
"module": "ES2020",
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"esModuleInterop": true,
|
|
11
11
|
"skipLibCheck": true,
|
|
12
12
|
"forceConsistentCasingInFileNames": true,
|
|
13
|
-
"moduleResolution": "node"
|
|
13
|
+
"moduleResolution": "node",
|
|
14
|
+
"newLine": "lf"
|
|
14
15
|
},
|
|
15
|
-
"include": ["msgerdefs.ts"],
|
|
16
16
|
"exclude": ["node_modules"]
|
|
17
17
|
}
|
package/nul
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dir: cannot access 'Y:\dev\utils\msgview\*.html': No such file or directory
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|