@vantail/api 0.1.4 → 0.1.5
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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +18 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/window.d.ts +126 -0
- package/dist/window.d.ts.map +1 -1
- package/dist/window.js +34 -0
- package/dist/window.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -34,10 +34,10 @@ export { shell } from "./shell.js";
|
|
|
34
34
|
export { shortcut, type RegisterOptions, type Shortcut } from "./shortcut.js";
|
|
35
35
|
export { tray, type TrayClick, type TrayOptions } from "./tray.js";
|
|
36
36
|
export { updater, type DownloadProgress, type DownloadResult, type NoUpdate, type UpdateAvailable, type UpdateCheck, } from "./updater.js";
|
|
37
|
-
export { appWindow, appWindow as window, createWindow, currentWindow, getWindow, listWindows, onWindowClosed, onWindowCreated, onWindowReady, type CloseBehavior, type Position, type Size, type WindowHandle, type WindowOptions, } from "./window.js";
|
|
37
|
+
export { appWindow, appWindow as window, createWindow, currentWindow, getWindow, listWindows, onWindowClosed, onWindowCreated, onWindowReady, titleBarMetrics, type CloseBehavior, type Position, type Size, type TitleBarStyle, type WindowHandle, type WindowOptions, } from "./window.js";
|
|
38
38
|
export { type BinaryInput } from "./binary.js";
|
|
39
39
|
export { VantailError } from "./error.js";
|
|
40
40
|
export { invoke, isVantail, listen, runtimeVersion, windowLabel, } from "./transport.js";
|
|
41
41
|
export { ErrorCode } from "./protocol.js";
|
|
42
|
-
export type { VantailBridge, VantailErrorPayload, VantailIncoming, VantailRequest, VantailResponse, } from "./protocol.js";
|
|
42
|
+
export type { TitleBarMetrics, VantailBridge, VantailErrorPayload, VantailIncoming, VantailRequest, VantailResponse, } from "./protocol.js";
|
|
43
43
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -34,7 +34,7 @@ export { shell } from "./shell.js";
|
|
|
34
34
|
export { shortcut } from "./shortcut.js";
|
|
35
35
|
export { tray } from "./tray.js";
|
|
36
36
|
export { updater, } from "./updater.js";
|
|
37
|
-
export { appWindow, appWindow as window, createWindow, currentWindow, getWindow, listWindows, onWindowClosed, onWindowCreated, onWindowReady, } from "./window.js";
|
|
37
|
+
export { appWindow, appWindow as window, createWindow, currentWindow, getWindow, listWindows, onWindowClosed, onWindowCreated, onWindowReady, titleBarMetrics, } from "./window.js";
|
|
38
38
|
export {} from "./binary.js";
|
|
39
39
|
export { VantailError } from "./error.js";
|
|
40
40
|
export { invoke, isVantail, listen, runtimeVersion, windowLabel, } from "./transport.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,GAAG,GAIJ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACL,QAAQ,GAST,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAkB,MAAM,WAAW,CAAC;AACrD,OAAO,EACL,MAAM,GAMP,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,GAKX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,GAAG,EAA0C,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,IAAI,EAAgD,MAAM,WAAW,CAAC;AAC/E,OAAO,EACL,IAAI,GAIL,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,OAAO,GAWR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,EAAE,EAA8B,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,IAAI,EAAgB,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,OAAO,GAMR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAuC,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAoC,MAAM,WAAW,CAAC;AACnE,OAAO,EACL,OAAO,GAMR,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,SAAS,IAAI,MAAM,EACnB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,GAAG,GAIJ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAuB,MAAM,gBAAgB,CAAC;AAChE,OAAO,EACL,QAAQ,GAST,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAkB,MAAM,WAAW,CAAC;AACrD,OAAO,EACL,MAAM,GAMP,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,GAKX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,GAAG,EAA0C,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,IAAI,EAAgD,MAAM,WAAW,CAAC;AAC/E,OAAO,EACL,IAAI,GAIL,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,OAAO,GAWR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAA4B,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,EAAE,EAA8B,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,IAAI,EAAgB,MAAM,WAAW,CAAC;AAC/C,OAAO,EACL,OAAO,GAMR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAe,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAuC,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAoC,MAAM,WAAW,CAAC;AACnE,OAAO,EACL,OAAO,GAMR,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,SAAS,IAAI,MAAM,EACnB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,GAOhB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAoB,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EACL,MAAM,EACN,SAAS,EACT,MAAM,EACN,cAAc,EACd,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -45,6 +45,22 @@ export declare const ErrorCode: {
|
|
|
45
45
|
};
|
|
46
46
|
export type ErrorCode = (typeof ErrorCode)[keyof typeof ErrorCode];
|
|
47
47
|
/** The object the runtime injects before any page script runs. */
|
|
48
|
+
/**
|
|
49
|
+
* The room a hidden title bar left behind, in logical pixels.
|
|
50
|
+
*
|
|
51
|
+
* Also set on `:root` as `--vantail-titlebar-height`,
|
|
52
|
+
* `--vantail-titlebar-inset-left` and `--vantail-titlebar-inset-right`, before
|
|
53
|
+
* the page lays out - which is usually the form you want, since CSS can then
|
|
54
|
+
* size the toolbar without JavaScript running at all.
|
|
55
|
+
*/
|
|
56
|
+
export interface TitleBarMetrics {
|
|
57
|
+
/** How tall the platform's own title bar is. `0` when there is one. */
|
|
58
|
+
height: number;
|
|
59
|
+
/** Room the system's window buttons need on the leading edge. */
|
|
60
|
+
insetLeft: number;
|
|
61
|
+
/** The same on the trailing edge. `0` on macOS. */
|
|
62
|
+
insetRight: number;
|
|
63
|
+
}
|
|
48
64
|
export interface VantailBridge {
|
|
49
65
|
version: string;
|
|
50
66
|
/** The label of the window this page is running in. */
|
|
@@ -57,6 +73,8 @@ export interface VantailBridge {
|
|
|
57
73
|
platform: string;
|
|
58
74
|
arch: string;
|
|
59
75
|
};
|
|
76
|
+
/** The room a hidden title bar left behind. Zeroes when there is a bar. */
|
|
77
|
+
titleBar: TitleBarMetrics;
|
|
60
78
|
postMessage(message: VantailRequest): void;
|
|
61
79
|
subscribe(listener: (message: VantailIncoming) => void): () => void;
|
|
62
80
|
}
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAEpE,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,GACvB,OAAO,IAAI,mBAAmB,CAEhC;AAED,8EAA8E;AAC9E,eAAO,MAAM,SAAS;aACpB,UAAU,EAAE,YAAY;aACxB,cAAc,EAAE,gBAAgB;aAChC,cAAc,EAAE,gBAAgB;aAChC,iBAAiB,EAAE,mBAAmB;aACtC,SAAS,EAAE,WAAW;aACtB,cAAc,EAAE,gBAAgB;aAChC,QAAQ,EAAE,UAAU;aACpB,YAAY,EAAE,cAAc;aAC5B,WAAW,EAAE,aAAa;aAC1B,QAAQ,EAAE,UAAU;IACpB,2DAA2D;aAC3D,SAAS,EAAE,WAAW;CACd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEnE,kEAAkE;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAEpE,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,GACvB,OAAO,IAAI,mBAAmB,CAEhC;AAED,8EAA8E;AAC9E,eAAO,MAAM,SAAS;aACpB,UAAU,EAAE,YAAY;aACxB,cAAc,EAAE,gBAAgB;aAChC,cAAc,EAAE,gBAAgB;aAChC,iBAAiB,EAAE,mBAAmB;aACtC,SAAS,EAAE,WAAW;aACtB,cAAc,EAAE,gBAAgB;aAChC,QAAQ,EAAE,UAAU;aACpB,YAAY,EAAE,cAAc;aAC5B,WAAW,EAAE,aAAa;aAC1B,QAAQ,EAAE,UAAU;IACpB,2DAA2D;aAC3D,SAAS,EAAE,WAAW;CACd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEnE,kEAAkE;AAElE;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,2EAA2E;IAC3E,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACrE;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,WAAW,CAAC,EAAE,aAAa,CAAC;KAC7B;CACF"}
|
package/dist/window.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TitleBarMetrics } from "./protocol.js";
|
|
1
2
|
export interface Size {
|
|
2
3
|
width: number;
|
|
3
4
|
height: number;
|
|
@@ -33,6 +34,39 @@ export interface WindowOptions {
|
|
|
33
34
|
maximized?: boolean;
|
|
34
35
|
fullscreen?: boolean;
|
|
35
36
|
decorations?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the title bar is a bar, or space your application draws in.
|
|
39
|
+
*
|
|
40
|
+
* `hidden` is what every editor and browser does: no title bar, the page
|
|
41
|
+
* running to the top edge of the window, and a toolbar of your own where
|
|
42
|
+
* the bar would have been.
|
|
43
|
+
*
|
|
44
|
+
* On macOS the traffic lights stay - they are the system's, and an
|
|
45
|
+
* application drawing its own gets them subtly wrong. Windows and Linux
|
|
46
|
+
* have no way to keep the buttons without the bar, so `hidden` there is an
|
|
47
|
+
* undecorated window and your toolbar has to include close and minimise.
|
|
48
|
+
*
|
|
49
|
+
* A window with no title bar has nothing to drag it by. Give your toolbar
|
|
50
|
+
* `appWindow.startDragging()` on `pointerdown`.
|
|
51
|
+
*/
|
|
52
|
+
titleBarStyle?: TitleBarStyle;
|
|
53
|
+
/**
|
|
54
|
+
* Nudge the traffic lights, for a toolbar taller than the bar it replaced.
|
|
55
|
+
* Logical pixels from the top left. macOS only.
|
|
56
|
+
*/
|
|
57
|
+
trafficLightPosition?: {
|
|
58
|
+
x: number;
|
|
59
|
+
y: number;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* How tall the bar your application draws should be.
|
|
63
|
+
*
|
|
64
|
+
* Defaults to the height of the platform's own, which is what makes a
|
|
65
|
+
* custom bar read as a title bar rather than as a div. Set it larger for a
|
|
66
|
+
* browser-style toolbar and the traffic lights are re-centred in it - the
|
|
67
|
+
* part that is easy to get wrong by hand, and obvious the moment it is.
|
|
68
|
+
*/
|
|
69
|
+
titleBarHeight?: number;
|
|
36
70
|
transparent?: boolean;
|
|
37
71
|
alwaysOnTop?: boolean;
|
|
38
72
|
center?: boolean;
|
|
@@ -54,6 +88,37 @@ export interface WindowOptions {
|
|
|
54
88
|
* Declaring the behaviour is the same thing without that failure mode.
|
|
55
89
|
*/
|
|
56
90
|
export type CloseBehavior = "close" | "hide" | "ask";
|
|
91
|
+
/**
|
|
92
|
+
* `default` keeps the platform's title bar. `hidden` removes it and lets the
|
|
93
|
+
* page run to the top edge of the window - see `titleBarStyle`.
|
|
94
|
+
*/
|
|
95
|
+
export type TitleBarStyle = "default" | "hidden";
|
|
96
|
+
/**
|
|
97
|
+
* The room a hidden title bar left behind, without awaiting.
|
|
98
|
+
*
|
|
99
|
+
* `undefined` outside a Vantail window. All zeroes when this window has an
|
|
100
|
+
* ordinary title bar, since there is then nothing to leave room for.
|
|
101
|
+
*
|
|
102
|
+
* The same numbers are already on `:root` as CSS variables before the page
|
|
103
|
+
* lays out, so reach for those first:
|
|
104
|
+
*
|
|
105
|
+
* ```css
|
|
106
|
+
* .toolbar {
|
|
107
|
+
* height: var(--vantail-titlebar-height);
|
|
108
|
+
* padding-left: var(--vantail-titlebar-inset-left);
|
|
109
|
+
* padding-right: var(--vantail-titlebar-inset-right);
|
|
110
|
+
* }
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* This is for the cases CSS cannot reach - laying out a canvas, or deciding
|
|
114
|
+
* whether to draw your own window controls:
|
|
115
|
+
*
|
|
116
|
+
* ```ts
|
|
117
|
+
* const { insetLeft } = titleBarMetrics() ?? { insetLeft: 0 };
|
|
118
|
+
* if (insetLeft === 0) drawOwnWindowControls();
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
export declare function titleBarMetrics(): TitleBarMetrics | undefined;
|
|
57
122
|
/**
|
|
58
123
|
* A handle to one window.
|
|
59
124
|
*
|
|
@@ -94,6 +159,67 @@ export interface WindowHandle {
|
|
|
94
159
|
isFullscreen(): Promise<boolean>;
|
|
95
160
|
setResizable(value: boolean): Promise<null>;
|
|
96
161
|
setAlwaysOnTop(value: boolean): Promise<null>;
|
|
162
|
+
/**
|
|
163
|
+
* Drag the window from wherever the pointer is.
|
|
164
|
+
*
|
|
165
|
+
* What a title bar would have done for you. Call it on `pointerdown` in
|
|
166
|
+
* your own toolbar and the platform takes the drag from there:
|
|
167
|
+
*
|
|
168
|
+
* ```ts
|
|
169
|
+
* toolbar.addEventListener("pointerdown", (event) => {
|
|
170
|
+
* // Let buttons and inputs be clicked rather than dragged.
|
|
171
|
+
* if ((event.target as Element).closest("button, input, a")) return;
|
|
172
|
+
* if (event.buttons === 1) void appWindow.startDragging();
|
|
173
|
+
* });
|
|
174
|
+
* ```
|
|
175
|
+
*
|
|
176
|
+
* `-webkit-app-region: drag` is a Chromium extension and does nothing in a
|
|
177
|
+
* WKWebView, which is why this is a call rather than a CSS property.
|
|
178
|
+
*/
|
|
179
|
+
startDragging(): Promise<null>;
|
|
180
|
+
/**
|
|
181
|
+
* Switch between an ordinary title bar and one your application draws in,
|
|
182
|
+
* on a window that is already open.
|
|
183
|
+
*
|
|
184
|
+
* Answers with the room the new arrangement leaves. The CSS variables and
|
|
185
|
+
* {@link titleBarMetrics} are updated before it resolves, so a toolbar
|
|
186
|
+
* sized from either resizes with the change.
|
|
187
|
+
*
|
|
188
|
+
* ```ts
|
|
189
|
+
* const { height } = await appWindow.setTitleBarStyle("hidden");
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* On macOS the switch is seamless. Everywhere else the only lever is the
|
|
193
|
+
* window frame, so this adds and removes decorations - and switching back
|
|
194
|
+
* restores what the config asked for rather than assuming a frame.
|
|
195
|
+
*/
|
|
196
|
+
setTitleBarStyle(style: TitleBarStyle): Promise<TitleBarMetrics>;
|
|
197
|
+
/** Which one this window is using now. */
|
|
198
|
+
titleBarStyle(): Promise<TitleBarStyle>;
|
|
199
|
+
/**
|
|
200
|
+
* Ask for a bar of a particular height; `null` for the platform's own.
|
|
201
|
+
*
|
|
202
|
+
* ```ts
|
|
203
|
+
* await appWindow.setTitleBarHeight(48); // a browser-style toolbar
|
|
204
|
+
* await appWindow.setTitleBarHeight(null); // back to the platform's
|
|
205
|
+
* ```
|
|
206
|
+
*
|
|
207
|
+
* The traffic lights move to the middle of the new height, and the CSS
|
|
208
|
+
* variables follow, so a toolbar sized from them resizes with it.
|
|
209
|
+
*/
|
|
210
|
+
setTitleBarHeight(height: number | null): Promise<TitleBarMetrics>;
|
|
211
|
+
/**
|
|
212
|
+
* Move the traffic lights, for a toolbar taller than the bar they came
|
|
213
|
+
* from. Logical pixels from the top left.
|
|
214
|
+
*
|
|
215
|
+
* macOS only; `UNSUPPORTED` everywhere else, since nowhere else has them.
|
|
216
|
+
*/
|
|
217
|
+
setTrafficLightPosition(x: number, y: number): Promise<TitleBarMetrics>;
|
|
218
|
+
/**
|
|
219
|
+
* Put them back in the middle of the bar, which is where they sit unless
|
|
220
|
+
* you have moved them.
|
|
221
|
+
*/
|
|
222
|
+
centerTrafficLights(): Promise<TitleBarMetrics>;
|
|
97
223
|
setCloseBehavior(behavior: CloseBehavior): Promise<null>;
|
|
98
224
|
closeBehavior(): Promise<CloseBehavior>;
|
|
99
225
|
show(): Promise<null>;
|
package/dist/window.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"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"}
|
package/dist/window.js
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
import { VantailError } from "./error.js";
|
|
2
2
|
import { invoke, listen, windowLabel } from "./transport.js";
|
|
3
|
+
/**
|
|
4
|
+
* The room a hidden title bar left behind, without awaiting.
|
|
5
|
+
*
|
|
6
|
+
* `undefined` outside a Vantail window. All zeroes when this window has an
|
|
7
|
+
* ordinary title bar, since there is then nothing to leave room for.
|
|
8
|
+
*
|
|
9
|
+
* The same numbers are already on `:root` as CSS variables before the page
|
|
10
|
+
* lays out, so reach for those first:
|
|
11
|
+
*
|
|
12
|
+
* ```css
|
|
13
|
+
* .toolbar {
|
|
14
|
+
* height: var(--vantail-titlebar-height);
|
|
15
|
+
* padding-left: var(--vantail-titlebar-inset-left);
|
|
16
|
+
* padding-right: var(--vantail-titlebar-inset-right);
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* This is for the cases CSS cannot reach - laying out a canvas, or deciding
|
|
21
|
+
* whether to draw your own window controls:
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* const { insetLeft } = titleBarMetrics() ?? { insetLeft: 0 };
|
|
25
|
+
* if (insetLeft === 0) drawOwnWindowControls();
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export function titleBarMetrics() {
|
|
29
|
+
return globalThis.__VANTAIL__?.titleBar;
|
|
30
|
+
}
|
|
3
31
|
function handle(label) {
|
|
4
32
|
// Omitting `label` entirely lets the runtime answer for the calling window,
|
|
5
33
|
// which is what makes one implementation serve both cases.
|
|
@@ -40,6 +68,12 @@ function handle(label) {
|
|
|
40
68
|
isFullscreen: () => call("window.isFullscreen"),
|
|
41
69
|
setResizable: (value) => call("window.setResizable", { value }),
|
|
42
70
|
setAlwaysOnTop: (value) => call("window.setAlwaysOnTop", { value }),
|
|
71
|
+
setTitleBarStyle: (style) => call("window.setTitleBarStyle", { style }),
|
|
72
|
+
titleBarStyle: () => call("window.titleBarStyle"),
|
|
73
|
+
setTitleBarHeight: (height) => call("window.setTitleBarHeight", { height }),
|
|
74
|
+
startDragging: () => call("window.startDragging"),
|
|
75
|
+
setTrafficLightPosition: (x, y) => call("window.setTrafficLightPosition", { x, y }),
|
|
76
|
+
centerTrafficLights: () => call("window.centerTrafficLights"),
|
|
43
77
|
setCloseBehavior: (behavior) => call("window.setCloseBehavior", { behavior }),
|
|
44
78
|
closeBehavior: () => call("window.closeBehavior"),
|
|
45
79
|
show: () => call("window.show"),
|
package/dist/window.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.js","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../src/window.ts"],"names":[],"mappings":"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"}
|