Skip to content

Commit 20af916

Browse files
authored
Support window sizing (#61)
* `accept_first_mouse` -> `acceptFirstMouse` * Add support for configuring webview size * Prepare 0.0.12 (binary 0.1.10) * Add ability to set window size after init * Return scale factor with sizing * Update changelog
1 parent 0410eb0 commit 20af916

13 files changed

Lines changed: 746 additions & 98 deletions

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
# Changelog
22

3+
## 0.0.12 (binary 0.1.10) -- 2024-09-26
4+
5+
BREAKING CHANGES
6+
7+
- `WebViewOptions` `accept_first_mouse` is now `acceptFirstMouse`
8+
- `WebViewOptions` `fullscreen` was removed in favor of `size`
9+
10+
Additions
11+
12+
- The webview size can be altered by providing `WebViewOptions` `size` as either `"maximized"`, `"fullscreen"`, or `{ width: number, height: number }`
13+
- added `webview.maximize()`
14+
- added `webview.minimize()`
15+
- added `webview.fullscreen()`
16+
- added `webview.getSize()`
17+
- added `webview.setSize({ ... })`
18+
19+
Fixes
20+
21+
- `webview.on` and `webivew.once` had their types improved to actually return the result of their event payload
22+
23+
Misc
24+
25+
- Tao updated to v0.30.2
26+
- Wry upgraded to v0.45.0
27+
328
## 0.0.11 (binary 0.1.9) -- 2024-09-23
429

530
- Adds more doc comments

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "deno-webview"
3-
version = "0.1.9"
3+
version = "0.1.10"
44
edition = "2021"
55

66
[profile.release]

deno.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@justbe/webview",
33
"exports": "./src/lib.ts",
4-
"version": "0.0.11",
4+
"version": "0.0.12",
55
"tasks": {
66
"dev": "deno run --watch main.ts",
77
"gen": "deno task gen:rust && deno task gen:deno",

examples/window-size.ts

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { createWebView } from "../src/lib.ts";
2+
3+
using webview = await createWebView({
4+
title: "Window Size",
5+
html: `
6+
<h1>Window Sizes</h1>
7+
<div style="display: flex; gap: 10px;">
8+
<button onclick="window.ipc.postMessage('maximize')">Maximize</button>
9+
<button onclick="window.ipc.postMessage('minimize')">Minimize</button>
10+
<button onclick="window.ipc.postMessage('fullscreen')">Fullscreen</button>
11+
</div>
12+
`,
13+
size: {
14+
height: 200,
15+
width: 800,
16+
},
17+
ipc: true,
18+
});
19+
20+
webview.on("ipc", ({ message }) => {
21+
switch (message) {
22+
case "maximize":
23+
webview.maximize();
24+
break;
25+
case "minimize":
26+
webview.minimize();
27+
break;
28+
case "fullscreen":
29+
webview.fullscreen();
30+
break;
31+
default:
32+
console.error("Unknown message", message);
33+
}
34+
});
35+
36+
await webview.waitUntilClosed();

schemas/WebViewMessage.json

Lines changed: 43 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

schemas/WebViewOptions.json

Lines changed: 45 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

schemas/WebViewRequest.json

Lines changed: 139 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)