@bobfrankston/msger 0.1.71 → 0.1.73

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.
@@ -0,0 +1,361 @@
1
+ # Fullscreen Feature Implementation
2
+
3
+ ## Overview
4
+
5
+ Adding a `-fullscreen` option to launch the message box window in fullscreen mode (like pressing F11 in a browser).
6
+
7
+ ## Features
8
+
9
+ - Start window in fullscreen mode (no borders, title bar, or decorations)
10
+ - Window fills entire screen
11
+ - Can exit fullscreen with Escape key or F11
12
+ - Works with all content types (message, HTML, URL)
13
+ - Compatible with other options (zoom, detach, etc.)
14
+
15
+ ## Implementation Plan
16
+
17
+ ### 1. TypeScript API (index.ts)
18
+
19
+ Add `fullscreen?: boolean` to `MessageBoxOptions` interface and pass it to the Rust binary.
20
+
21
+ **Location:** Around line 17 in the interface definition
22
+
23
+ **Add:**
24
+ ```typescript
25
+ interface MessageBoxOptions {
26
+ // ... existing options ...
27
+ fullscreen?: boolean; // Start window in fullscreen mode
28
+ }
29
+ ```
30
+
31
+ **Location:** Around line 60-65 where JSON is constructed
32
+
33
+ **Add to the config object:**
34
+ ```typescript
35
+ const config = {
36
+ // ... existing properties ...
37
+ fullscreen: options.fullscreen || false
38
+ };
39
+ ```
40
+
41
+ ### 2. CLI Handler (clihandler.ts)
42
+
43
+ Add CLI flag parsing for `-fullscreen` option.
44
+
45
+ **Location:** Add to `CliOptions` interface (around line 15)
46
+
47
+ **Add:**
48
+ ```typescript
49
+ interface CliOptions {
50
+ // ... existing options ...
51
+ fullscreen?: boolean;
52
+ }
53
+ ```
54
+
55
+ **Location:** Flag parsing section (after line 113)
56
+
57
+ **Add:**
58
+ ```typescript
59
+ } else if (arg === '-fullscreen' || arg === '--fullscreen') {
60
+ cli.fullscreen = true;
61
+ i++;
62
+ ```
63
+
64
+ **Location:** Options construction (around line 170)
65
+
66
+ **Add:**
67
+ ```typescript
68
+ fullscreen: cli.fullscreen
69
+ ```
70
+
71
+ **Location:** Help text (around line 38)
72
+
73
+ **Add:**
74
+ ```
75
+ -fullscreen, --fullscreen Start window in fullscreen mode (F11 to exit)
76
+ ```
77
+
78
+ ### 3. Rust Binary (main.rs)
79
+
80
+ Configure the window to start in fullscreen mode using tao's WindowBuilder.
81
+
82
+ **File:** `msger-native/src/main.rs`
83
+
84
+ **Location:** Config struct (around line 10)
85
+
86
+ **Add:**
87
+ ```rust
88
+ #[derive(Deserialize)]
89
+ struct Config {
90
+ // ... existing fields ...
91
+ #[serde(default)]
92
+ fullscreen: bool,
93
+ }
94
+ ```
95
+
96
+ **Location:** Window creation (around line 120-130)
97
+
98
+ **Replace:**
99
+ ```rust
100
+ let window = WindowBuilder::new()
101
+ .with_title(&config.title)
102
+ .with_inner_size(PhysicalSize::new(width, height))
103
+ .with_resizable(true)
104
+ .with_position(position)
105
+ .build(&event_loop)?;
106
+ ```
107
+
108
+ **With:**
109
+ ```rust
110
+ let mut window_builder = WindowBuilder::new()
111
+ .with_title(&config.title)
112
+ .with_inner_size(PhysicalSize::new(width, height))
113
+ .with_resizable(true)
114
+ .with_position(position);
115
+
116
+ // Set fullscreen mode if requested
117
+ if config.fullscreen {
118
+ window_builder = window_builder.with_fullscreen(Some(tao::window::Fullscreen::Borderless(None)));
119
+ }
120
+
121
+ let window = window_builder.build(&event_loop)?;
122
+ ```
123
+
124
+ **Location:** JavaScript event handling (around line 185-195, in the keydown handler)
125
+
126
+ **Enhance Escape key to exit fullscreen:**
127
+ ```javascript
128
+ document.addEventListener('keydown', function(e) {{
129
+ if (e.key === 'Escape') {{
130
+ // Try to exit fullscreen first
131
+ if (document.fullscreenElement) {{
132
+ document.exitFullscreen();
133
+ }} else {{
134
+ const result = {{ button: '{}', dismissed: true }};
135
+ window.ipc.postMessage(JSON.stringify(result));
136
+ }}
137
+ }} else if (e.key === 'F11') {{
138
+ // Toggle fullscreen
139
+ e.preventDefault();
140
+ if (!document.fullscreenElement) {{
141
+ document.documentElement.requestFullscreen();
142
+ }} else {{
143
+ document.exitFullscreen();
144
+ }}
145
+ }} else if (e.key === 'Enter') {{
146
+ // ... existing Enter handler ...
147
+ }}
148
+ }});
149
+ ```
150
+
151
+ ## How It Works
152
+
153
+ ### Fullscreen Modes
154
+
155
+ **tao** (the windowing library) provides two fullscreen options:
156
+
157
+ 1. **Borderless Fullscreen** (recommended) - `Fullscreen::Borderless(None)`
158
+ - Window fills the screen
159
+ - No decorations
160
+ - Faster switching
161
+ - Works across all monitors
162
+
163
+ 2. **Exclusive Fullscreen** - `Fullscreen::Exclusive(video_mode)`
164
+ - Changes display resolution
165
+ - Better for games
166
+ - More invasive
167
+
168
+ We use **Borderless** for better compatibility and user experience.
169
+
170
+ ### Fullscreen Control
171
+
172
+ Users can exit fullscreen via:
173
+ - **Escape** - Exits fullscreen if active, otherwise dismisses the window
174
+ - **F11** - Toggles fullscreen on/off (standard browser behavior)
175
+
176
+ ## Use Cases
177
+
178
+ ### 1. Full-Screen Presentations
179
+ ```bash
180
+ msger -fullscreen -url "https://slides.example.com/presentation"
181
+ ```
182
+
183
+ ### 2. Kiosk Mode Displays
184
+ ```bash
185
+ msger -fullscreen -url "http://localhost:3000/dashboard" -detach
186
+ ```
187
+
188
+ ### 3. Full-Screen Notifications
189
+ ```bash
190
+ msger -fullscreen -html "<h1 style='font-size:200px;text-align:center'>BREAK TIME</h1>"
191
+ ```
192
+
193
+ ### 4. Immersive Content
194
+ ```bash
195
+ msger -fullscreen -url "file:///path/to/video-player.html"
196
+ ```
197
+
198
+ ### 5. API Usage
199
+ ```typescript
200
+ await showMessageBox({
201
+ title: 'Presentation',
202
+ url: 'https://example.com/slides',
203
+ fullscreen: true,
204
+ alwaysOnTop: true
205
+ });
206
+ ```
207
+
208
+ ## Combining with Other Features
209
+
210
+ ### With Detach
211
+ ```bash
212
+ # Launch fullscreen window that stays open after script exits
213
+ msger -fullscreen -detach -url "http://localhost:8080/monitor"
214
+ ```
215
+
216
+ ### With Zoom
217
+ ```bash
218
+ # Fullscreen with 150% zoom for visibility
219
+ msger -fullscreen -zoom 150 -message "Large text display"
220
+ ```
221
+
222
+ ### With Always On Top
223
+ ```bash
224
+ # Fullscreen notification that can't be hidden
225
+ msger -fullscreen -ontop -timeout 10 -message "ALERT: System reboot in 10 seconds"
226
+ ```
227
+
228
+ ## Platform Support
229
+
230
+ | Platform | Support | Notes |
231
+ |----------|---------|-------|
232
+ | Windows | ✅ Full | Uses native fullscreen API |
233
+ | Linux x64 | ✅ Full | Uses GTK fullscreen |
234
+ | Linux ARM64 | ✅ Full | Uses GTK fullscreen |
235
+
236
+ ## Behavior Details
237
+
238
+ ### Startup
239
+ - Window starts immediately in fullscreen mode
240
+ - No transition animation
241
+ - Original window size is remembered for when exiting fullscreen
242
+
243
+ ### Exiting Fullscreen
244
+ - **F11** toggles fullscreen (returns to window mode)
245
+ - **Escape** exits fullscreen first, then dismisses window on second press
246
+ - Closing window works normally (clicks button or window close)
247
+
248
+ ### Multi-Monitor
249
+ - Default: Fullscreen on current/primary monitor
250
+ - With `-screen N`: Can specify which monitor (Windows only)
251
+
252
+ ## Testing Checklist
253
+
254
+ - [ ] Test `-fullscreen` flag launches fullscreen window
255
+ - [ ] Test F11 toggles fullscreen on/off
256
+ - [ ] Test Escape exits fullscreen before dismissing
257
+ - [ ] Test with `-message` (simple text)
258
+ - [ ] Test with `-html` (HTML content)
259
+ - [ ] Test with `-url` (web page)
260
+ - [ ] Test with `-detach` (stays open after parent exits)
261
+ - [ ] Test with `-zoom` (initial zoom level)
262
+ - [ ] Test with `-ontop` (stays on top)
263
+ - [ ] Test multi-monitor with `-screen` (Windows only)
264
+ - [ ] Test buttons work in fullscreen
265
+ - [ ] Test input fields work in fullscreen
266
+ - [ ] Test window close button (if visible)
267
+
268
+ ## Building After Changes
269
+
270
+ ```bash
271
+ # Rebuild TypeScript
272
+ tsc
273
+
274
+ # Rebuild Rust binary (Windows)
275
+ cd msger-native
276
+ cargo build --release
277
+ copy target\release\msgernative.exe bin\
278
+
279
+ # Rebuild for Linux (via WSL)
280
+ npm run build:native:wsl
281
+
282
+ # Rebuild for ARM64 (via Pi)
283
+ npm run build:native:pi
284
+ ```
285
+
286
+ ## Files to Modify
287
+
288
+ 1. ✅ `index.ts` - Add interface and JSON config
289
+ 2. ✅ `clihandler.ts` - Add flag parsing and help text
290
+ 3. ✅ `main.rs` - Add fullscreen window configuration
291
+ 4. ✅ `README.md` - Add documentation and examples
292
+
293
+ ## Examples
294
+
295
+ ### CLI Examples
296
+
297
+ ```bash
298
+ # Simple fullscreen message
299
+ msger -fullscreen -message "Hello in fullscreen!"
300
+
301
+ # Fullscreen web page
302
+ msger -fullscreen -url "https://example.com"
303
+
304
+ # Fullscreen HTML with custom styling
305
+ msger -fullscreen -html "<div style='display:flex;align-items:center;justify-content:center;height:100vh;font-size:5em'>BIG TEXT</div>"
306
+
307
+ # Fullscreen with timeout
308
+ msger -fullscreen -timeout 5 -message "This will close in 5 seconds"
309
+
310
+ # Fullscreen detached browser
311
+ msger -fullscreen -detach -url "http://localhost:3000"
312
+ ```
313
+
314
+ ### API Examples
315
+
316
+ ```typescript
317
+ // Fullscreen confirmation
318
+ const result = await showMessageBox({
319
+ title: 'Confirm',
320
+ message: 'Are you sure you want to continue?',
321
+ fullscreen: true,
322
+ buttons: ['Cancel', 'Confirm']
323
+ });
324
+
325
+ // Fullscreen presentation
326
+ await showMessageBox({
327
+ url: 'https://slides.example.com',
328
+ fullscreen: true,
329
+ alwaysOnTop: true
330
+ });
331
+
332
+ // Fullscreen with input
333
+ const result = await showMessageBox({
334
+ message: 'Enter password:',
335
+ fullscreen: true,
336
+ allowInput: true,
337
+ buttons: ['Cancel', 'OK']
338
+ });
339
+ ```
340
+
341
+ ## Security Considerations
342
+
343
+ - Fullscreen mode can be disorienting or used maliciously
344
+ - Users can always exit with Escape or F11
345
+ - Window close button may be hidden depending on platform
346
+ - Consider adding clear exit instructions in displayed content
347
+
348
+ ## Future Enhancements
349
+
350
+ - Add `fullscreenMode: 'borderless' | 'exclusive'` option
351
+ - Add option to lock fullscreen (prevent F11 exit)
352
+ - Add fullscreen on specific monitor by index
353
+ - Add fullscreen toggle button in HTML content
354
+
355
+ ## Notes
356
+
357
+ - Fullscreen windows still respect `-ontop` flag
358
+ - Zoom works normally in fullscreen mode
359
+ - Multi-monitor positioning requires platform support
360
+ - Some platforms may show a notification about fullscreen mode
361
+ - Detached fullscreen windows continue running independently
package/README.md CHANGED
@@ -78,6 +78,9 @@ msger -message "Important!" -ontop -zoom 150
78
78
  # Detached URL browser (stays open after script exits)
79
79
  msger -url "https://example.com" -detach
80
80
 
81
+ # Fullscreen mode
82
+ msger -fullscreen -url "https://example.com"
83
+
81
84
  # Multi-monitor (Windows only - show on second screen)
82
85
  msger -message "Second screen" -pos 0,100 -screen 1
83
86
 
@@ -120,6 +123,7 @@ interface MessageBoxOptions {
120
123
  zoomPercent?: number; // Initial zoom level (100=100%, 150=150%, 50=50%)
121
124
  timeout?: number; // Auto-close after N seconds
122
125
  detach?: boolean; // Launch detached from parent process
126
+ fullscreen?: boolean; // Start window in fullscreen mode (F11 to toggle)
123
127
  debug?: boolean; // Return debug info (HTML, size, autoSize) in result
124
128
  }
125
129
  ```
@@ -334,6 +338,24 @@ await showMessageBox({
334
338
  // Script continues/exits immediately, window stays open
335
339
  ```
336
340
 
341
+ ### Fullscreen Mode
342
+
343
+ ```typescript
344
+ // Launch window in fullscreen mode (like F11 in browser)
345
+ await showMessageBox({
346
+ url: 'https://example.com',
347
+ fullscreen: true
348
+ });
349
+ // Users can press F11 to toggle fullscreen or Escape to exit
350
+
351
+ // Fullscreen with message
352
+ await showMessageBox({
353
+ message: 'Full screen presentation',
354
+ fullscreen: true,
355
+ buttons: ['Close']
356
+ });
357
+ ```
358
+
337
359
  ## Architecture
338
360
 
339
361
  ```
@@ -421,9 +443,10 @@ All binaries are bundled with the npm package, and the correct one is selected a
421
443
  - ✅ Always on top mode
422
444
  - ✅ Zoom control (initial percent + runtime Ctrl+Wheel/+/-)
423
445
  - ✅ Auto-sizing windows (fit content when size not specified)
424
- - ✅ Keyboard shortcuts (Enter, Escape)
446
+ - ✅ Keyboard shortcuts (Enter, Escape, F11)
425
447
  - ✅ Window close detection
426
448
  - ✅ Detached process mode (independent window)
449
+ - ✅ Fullscreen mode with F11 toggle
427
450
  - ✅ TypeScript type definitions
428
451
  - ✅ Small binary size (~2-5MB per platform)
429
452
  - ✅ Fast startup (~50-200ms)
@@ -462,6 +485,7 @@ Options:
462
485
  -timeout, --timeout <seconds> Auto-close after specified seconds
463
486
  -ontop, --ontop Keep window always on top
464
487
  -detach, --detach Launch window independently (parent returns immediately)
488
+ -fullscreen, --fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
465
489
  -debug, --debug Return debug info (HTML, size, autoSize) in result
466
490
  -v, -version, --version Show version number
467
491
  -help, -?, --help Show help message
@@ -1 +1 @@
1
- {"version":3,"file":"clihandler.d.ts","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA4EhD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CA4KpH;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"clihandler.d.ts","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA8EhD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAgLpH;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
package/clihandler.js CHANGED
@@ -24,6 +24,7 @@ Options:
24
24
  -screen <number> [Windows only] Screen index for multi-monitor (0=primary, 1=second, etc.)
25
25
  -timeout <seconds> Auto-close after specified seconds
26
26
  -detach Leave window open after app exits (parent process returns immediately)
27
+ -fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
27
28
  -ontop Keep window always on top of other windows
28
29
  -debug Return debug info (HTML, size) in result
29
30
  -v, -version, --version Show version number
@@ -125,6 +126,10 @@ export function parseCliArgs(args) {
125
126
  cli.detach = true;
126
127
  i++;
127
128
  }
129
+ else if (arg === '-fullscreen' || arg === '--fullscreen') {
130
+ cli.fullscreen = true;
131
+ i++;
132
+ }
128
133
  else if (arg === '-ontop' || arg === '--ontop' || arg === '-alwaysontop' || arg === '--alwaysontop') {
129
134
  cli.alwaysOnTop = true;
130
135
  i++;
@@ -211,6 +216,7 @@ export function parseCliArgs(args) {
211
216
  inputPlaceholder: cli.inputPlaceholder,
212
217
  timeout: cli.timeout,
213
218
  detach: cli.detach,
219
+ fullscreen: cli.fullscreen,
214
220
  alwaysOnTop: cli.alwaysOnTop,
215
221
  zoomPercent: cli.zoomPercent,
216
222
  debug: cli.debug
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;AAyB/D,MAAM,SAAS,GAAG;SACT,WAAW,CAAC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+C3B,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACvC,MAAM,GAAG,GAAe;QACpB,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,KAAK;KACd,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACnD,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACnD,iDAAiD;YACjD,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC,EAAE,CAAC;YACR,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,OAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;YACD,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;YACjB,wDAAwD;YACxD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACnD,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACnD,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YACpG,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC;gBAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC;gBAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YACtB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YAC5B,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;YACjB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC,EAAE,CAAC;QACR,CAAC;aAAM,CAAC;YACJ,0BAA0B;YAC1B,OAAO,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;YACvC,CAAC,EAAE,CAAC;QACR,CAAC;IACL,CAAC;IAED,oBAAoB;IACpB,IAAI,OAAe,CAAC;IACpB,IAAI,IAAwB,CAAC;IAC7B,IAAI,GAAuB,CAAC;IAE5B,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,gBAAgB;QAChB,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC;QAClB,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IAClB,CAAC;SAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QAClB,yBAAyB;QACzB,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;QACnB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;SAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACrB,wBAAwB;QACxB,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC1B,CAAC;SAAM,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,uCAAuC;QACvC,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACJ,wDAAwD;QACxD,OAAO,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,oCAAoC;IACpC,IAAI,GAAG,CAAC,OAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAsB;QAC/B,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO;QACP,IAAI;QACJ,GAAG;QACH,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,KAAK;QACrB,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;QACtC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,KAAK,EAAE,GAAG,CAAC,KAAK;KACnB,CAAC;IAEF,wCAAwC;IACxC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtD,2EAA2E;QAC3E,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QACtC,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEtC,OAAO,CAAC,IAAI,GAAG;YACX,KAAK,EAAE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY;YACzD,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;SAChE,CAAC;IACN,CAAC;SAAM,IAAI,GAAG,EAAE,CAAC;QACb,sDAAsD;QACtD,OAAO,CAAC,IAAI,GAAG;YACX,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;SACd,CAAC;IACN,CAAC;IACD,sEAAsE;IAEtE,4BAA4B;IAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACpC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,QAAQ;IACpB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"clihandler.js","sourceRoot":"","sources":["clihandler.ts"],"names":[],"mappings":"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"}
package/clihandler.ts CHANGED
@@ -14,6 +14,7 @@ interface CliOptions {
14
14
  inputPlaceholder?: string;
15
15
  timeout?: number;
16
16
  detach?: boolean;
17
+ fullscreen?: boolean;
17
18
  alwaysOnTop?: boolean;
18
19
  zoomPercent?: number;
19
20
  posX?: number;
@@ -49,6 +50,7 @@ Options:
49
50
  -screen <number> [Windows only] Screen index for multi-monitor (0=primary, 1=second, etc.)
50
51
  -timeout <seconds> Auto-close after specified seconds
51
52
  -detach Leave window open after app exits (parent process returns immediately)
53
+ -fullscreen Start window in fullscreen mode (F11 to toggle, Escape to exit)
52
54
  -ontop Keep window always on top of other windows
53
55
  -debug Return debug info (HTML, size) in result
54
56
  -v, -version, --version Show version number
@@ -141,6 +143,9 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
141
143
  } else if (arg === '-detach' || arg === '--detach') {
142
144
  cli.detach = true;
143
145
  i++;
146
+ } else if (arg === '-fullscreen' || arg === '--fullscreen') {
147
+ cli.fullscreen = true;
148
+ i++;
144
149
  } else if (arg === '-ontop' || arg === '--ontop' || arg === '-alwaysontop' || arg === '--alwaysontop') {
145
150
  cli.alwaysOnTop = true;
146
151
  i++;
@@ -216,6 +221,7 @@ export function parseCliArgs(args: string[]): { options: MessageBoxOptions; show
216
221
  inputPlaceholder: cli.inputPlaceholder,
217
222
  timeout: cli.timeout,
218
223
  detach: cli.detach,
224
+ fullscreen: cli.fullscreen,
219
225
  alwaysOnTop: cli.alwaysOnTop,
220
226
  zoomPercent: cli.zoomPercent,
221
227
  debug: cli.debug
Binary file
@@ -49,6 +49,8 @@ struct MessageBoxOptions {
49
49
  #[serde(default)]
50
50
  always_on_top: bool,
51
51
  #[serde(default)]
52
+ fullscreen: bool,
53
+ #[serde(default)]
52
54
  zoom_percent: Option<f64>,
53
55
  #[serde(default)]
54
56
  debug: bool,
@@ -210,11 +212,16 @@ fn main() {
210
212
  ))
211
213
  .with_resizable(true)
212
214
  .with_always_on_top(options.always_on_top);
213
-
215
+
216
+ // Set fullscreen mode if requested
217
+ if options.fullscreen {
218
+ window_builder = window_builder.with_fullscreen(Some(tao::window::Fullscreen::Borderless(None)));
219
+ }
220
+
214
221
  if let Some(position) = final_position {
215
222
  window_builder = window_builder.with_position(position);
216
223
  }
217
-
224
+
218
225
  let window = window_builder
219
226
  .build(&event_loop)
220
227
  .expect("Failed to create window");
@@ -211,8 +211,21 @@
211
211
  document.addEventListener('keydown', function(e) {
212
212
  if (e.key === 'Escape') {
213
213
  e.preventDefault();
214
- const result = { button: 'Cancel', dismissed: true };
215
- window.ipc.postMessage(JSON.stringify(result));
214
+ // Try to exit fullscreen first
215
+ if (document.fullscreenElement) {
216
+ document.exitFullscreen();
217
+ } else {
218
+ const result = { button: 'Cancel', dismissed: true };
219
+ window.ipc.postMessage(JSON.stringify(result));
220
+ }
221
+ } else if (e.key === 'F11') {
222
+ // Toggle fullscreen
223
+ e.preventDefault();
224
+ if (!document.fullscreenElement) {
225
+ document.documentElement.requestFullscreen();
226
+ } else {
227
+ document.exitFullscreen();
228
+ }
216
229
  } else if (e.key === 'Enter') {
217
230
  // Prevent default form submission
218
231
  e.preventDefault();
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/msger",
3
- "version": "0.1.71",
3
+ "version": "0.1.73",
4
4
  "description": "Fast, lightweight, cross-platform message box - Rust-powered alternative to msgview",
5
5
  "type": "module",
6
6
  "main": "./index.js",
package/shower.d.ts CHANGED
@@ -21,6 +21,7 @@ export interface MessageBoxOptions {
21
21
  allowInput?: boolean; /** Enable an input field in the message box (default: false) */
22
22
  timeout?: number; /** Auto-close the message box after specified seconds */
23
23
  detach?: boolean; /** Launch the message box detached from parent process */
24
+ fullscreen?: boolean; /** Start window in fullscreen mode (F11 to toggle, Escape to exit) */
24
25
  debug?: boolean; /** Return debug information (HTML, size) in result (default: false) */
25
26
  }
26
27
  export interface MessageBoxResult {
package/shower.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"shower.d.ts","sourceRoot":"","sources":["shower.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAW,uDAAuD;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,CAAS,8EAA8E;IACxG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAY,iDAAiD;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC,CAAa,0DAA0D;IAEpF,IAAI,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAC,CAAQ,mBAAmB;QACzC,MAAM,EAAE,MAAM,CAAC,CAAO,oBAAoB;KAC7C,CAAC;IACF,GAAG,CAAC,EAAE;QACF,CAAC,EAAE,MAAM,CAAC,CAAY,kCAAkC;QACxD,CAAC,EAAE,MAAM,CAAC,CAAY,kCAAkC;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC,CAAM,8EAA8E;KACvG,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,CAAK,0EAA0E;IACpG,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAO,kEAAkE;IAC5F,WAAW,CAAC,EAAE,OAAO,CAAC,CAAI,2DAA2D;IACrF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAO,0DAA0D;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC,CAAI,4DAA4D;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,wDAAwD;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC,CAAK,gEAAgE;IAE1F,OAAO,CAAC,EAAE,MAAM,CAAC,CAAS,yDAAyD;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC,CAAS,0DAA0D;IACpF,KAAK,CAAC,EAAE,OAAO,CAAC,CAAU,uEAAuE;CACpG;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;KACrB,CAAC;CACL;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqJ1F"}
1
+ {"version":3,"file":"shower.d.ts","sourceRoot":"","sources":["shower.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAW,uDAAuD;IACjF,OAAO,CAAC,EAAE,MAAM,CAAC,CAAS,8EAA8E;IACxG,IAAI,CAAC,EAAE,MAAM,CAAC,CAAY,iDAAiD;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC,CAAa,0DAA0D;IAEpF,IAAI,CAAC,EAAE;QACH,KAAK,EAAE,MAAM,CAAC,CAAQ,mBAAmB;QACzC,MAAM,EAAE,MAAM,CAAC,CAAO,oBAAoB;KAC7C,CAAC;IACF,GAAG,CAAC,EAAE;QACF,CAAC,EAAE,MAAM,CAAC,CAAY,kCAAkC;QACxD,CAAC,EAAE,MAAM,CAAC,CAAY,kCAAkC;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC,CAAM,8EAA8E;KACvG,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,CAAK,0EAA0E;IACpG,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAO,kEAAkE;IAC5F,WAAW,CAAC,EAAE,OAAO,CAAC,CAAI,2DAA2D;IACrF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAO,0DAA0D;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC,CAAI,4DAA4D;IACtF,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC,wDAAwD;IACnF,UAAU,CAAC,EAAE,OAAO,CAAC,CAAK,gEAAgE;IAE1F,OAAO,CAAC,EAAE,MAAM,CAAC,CAAS,yDAAyD;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC,CAAS,0DAA0D;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC,CAAK,sEAAsE;IAChG,KAAK,CAAC,EAAE,OAAO,CAAC,CAAU,uEAAuE;CACpG;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;KACrB,CAAC;CACL;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqJ1F"}
package/shower.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"shower.js","sourceRoot":"","sources":["shower.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shower.js","sourceRoot":"","sources":["shower.ts"],"names":[],"mappings":"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"}
package/shower.ts CHANGED
@@ -30,6 +30,7 @@ export interface MessageBoxOptions {
30
30
  // devTools?: boolean; /** Open DevTools for debugging (default: false) */
31
31
  timeout?: number; /** Auto-close the message box after specified seconds */
32
32
  detach?: boolean; /** Launch the message box detached from parent process */
33
+ fullscreen?: boolean; /** Start window in fullscreen mode (F11 to toggle, Escape to exit) */
33
34
  debug?: boolean; /** Return debug information (HTML, size) in result (default: false) */
34
35
  }
35
36