custom-electron-titlebar 4.2.7 → 4.4.0
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 +43 -19
- package/index.d.mts +684 -0
- package/index.d.ts +684 -3
- package/index.js +5225 -175
- package/index.js.map +1 -0
- package/index.mjs +5227 -0
- package/index.mjs.map +1 -0
- package/main/index.d.mts +21 -0
- package/main/index.d.ts +21 -3
- package/main/index.js +793 -175
- package/main/index.js.map +1 -0
- package/main/index.mjs +785 -0
- package/main/index.mjs.map +1 -0
- package/package.json +56 -33
- package/theme/base.css +425 -0
- package/theme/mac.css +0 -0
- package/theme/win.css +0 -0
- package/base/browser/browser.d.ts +0 -26
- package/base/browser/browser.js +0 -317
- package/base/browser/event.d.ts +0 -12
- package/base/browser/event.js +0 -215
- package/base/browser/keyboardEvent.d.ts +0 -38
- package/base/browser/keyboardEvent.js +0 -464
- package/base/browser/mouseEvent.d.ts +0 -61
- package/base/browser/mouseEvent.js +0 -327
- package/base/browser/touch.d.ts +0 -39
- package/base/browser/touch.js +0 -454
- package/base/common/arrays.d.ts +0 -10
- package/base/common/arrays.js +0 -210
- package/base/common/async.d.ts +0 -35
- package/base/common/async.js +0 -280
- package/base/common/charCode.d.ts +0 -405
- package/base/common/charCode.js +0 -9
- package/base/common/color.d.ts +0 -159
- package/base/common/color.js +0 -708
- package/base/common/decorators.d.ts +0 -6
- package/base/common/decorators.js +0 -300
- package/base/common/dom.d.ts +0 -221
- package/base/common/dom.js +0 -1478
- package/base/common/event.d.ts +0 -213
- package/base/common/event.js +0 -804
- package/base/common/iterator.d.ts +0 -69
- package/base/common/iterator.js +0 -381
- package/base/common/keyCodes.d.ts +0 -478
- package/base/common/keyCodes.js +0 -479
- package/base/common/lifecycle.d.ts +0 -17
- package/base/common/lifecycle.js +0 -258
- package/base/common/linkedList.d.ts +0 -17
- package/base/common/linkedList.js +0 -319
- package/base/common/platform.d.ts +0 -36
- package/base/common/platform.js +0 -314
- package/base/common/strings.d.ts +0 -23
- package/base/common/strings.js +0 -273
- package/consts.d.ts +0 -58
- package/consts.js +0 -317
- package/main/attach-titlebar-to-window.d.ts +0 -3
- package/main/attach-titlebar-to-window.js +0 -210
- package/main/setup-titlebar.d.ts +0 -2
- package/main/setup-titlebar.js +0 -255
- package/menubar/index.d.ts +0 -86
- package/menubar/index.js +0 -1121
- package/menubar/menu/index.d.ts +0 -46
- package/menubar/menu/index.js +0 -566
- package/menubar/menu/item.d.ts +0 -67
- package/menubar/menu/item.js +0 -575
- package/menubar/menu/separator.d.ts +0 -11
- package/menubar/menu/separator.js +0 -213
- package/menubar/menu/submenu.d.ts +0 -32
- package/menubar/menu/submenu.js +0 -372
- package/menubar/menubar-options.d.ts +0 -47
- package/menubar/menubar-options.js +0 -9
- package/titlebar/index.d.ts +0 -104
- package/titlebar/index.js +0 -696
- package/titlebar/options.d.ts +0 -84
- package/titlebar/options.js +0 -9
- package/titlebar/themebar.d.ts +0 -20
- package/titlebar/themebar.js +0 -267
package/README.md
CHANGED
|
@@ -7,23 +7,28 @@ This project is a typescript library for electron that allows you to configure a
|
|
|
7
7
|
[](https://npmjs.org/package/custom-electron-titlebar)
|
|
8
8
|
[](https://packagephobia.com/result?p=custom-electron-titlebar)
|
|
9
9
|
|
|
10
|
+
> [!IMPORTANT]
|
|
11
|
+
> This project will no longer be maintained, because I am the only one working on it and I have no free time left to review the issues and incorporate new features or update the dependencies to the latest versions.
|
|
12
|
+
>
|
|
13
|
+
> **Thanks to all the contributors and dependents of this library.**
|
|
14
|
+
|
|
10
15
|
[📄 Documentation](https://github.com/AlexTorresDev/custom-electron-titlebar/wiki)
|
|
11
16
|
|
|
12
|
-
Standard Title Bar
|
|
17
|
+
### Standard Title Bar
|
|
13
18
|
|
|
14
|
-

|
|
15
20
|
|
|
16
|
-
Bottom Menu Bar
|
|
21
|
+
### Bottom Menu Bar
|
|
17
22
|
|
|
18
|
-

|
|
19
24
|
|
|
20
|
-
Menu
|
|
25
|
+
### Menu
|
|
21
26
|
|
|
22
|
-

|
|
23
28
|
|
|
24
|
-
Custom color
|
|
29
|
+
### Custom color
|
|
25
30
|
|
|
26
|
-

|
|
27
32
|
|
|
28
33
|
# 📦 Installing
|
|
29
34
|
You can install this package with `npm`, `pnpm` or `yarn`.
|
|
@@ -42,10 +47,7 @@ The implementation is done as follows:
|
|
|
42
47
|
|
|
43
48
|
In the main application file (main.js or .ts)
|
|
44
49
|
```js
|
|
45
|
-
import {
|
|
46
|
-
|
|
47
|
-
// setup the titlebar main process
|
|
48
|
-
setupTitlebar();
|
|
50
|
+
import { setupTitlebarAndAttachToWindow } from "custom-electron-titlebar/main";
|
|
49
51
|
|
|
50
52
|
function createWindow() {
|
|
51
53
|
// Create the browser window.
|
|
@@ -64,20 +66,42 @@ function createWindow() {
|
|
|
64
66
|
|
|
65
67
|
...
|
|
66
68
|
|
|
67
|
-
// attach
|
|
68
|
-
|
|
69
|
+
// Setup main IPC + attach window listeners + load theme config
|
|
70
|
+
setupTitlebarAndAttachToWindow(mainWindow, {
|
|
71
|
+
themeConfigPath: path.join(__dirname, "titlebar.theme.json")
|
|
72
|
+
});
|
|
69
73
|
}
|
|
70
74
|
```
|
|
71
75
|
|
|
72
76
|
In the preload file (preload.js or .ts)
|
|
73
77
|
```js
|
|
74
|
-
import {
|
|
78
|
+
import { createTitlebarOnDOMContentLoaded } from "custom-electron-titlebar";
|
|
75
79
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
new Titlebar();
|
|
79
|
-
});
|
|
80
|
+
// Theme configuration is automatically loaded from main process
|
|
81
|
+
createTitlebarOnDOMContentLoaded();
|
|
80
82
|
```
|
|
83
|
+
|
|
84
|
+
**Theme Configuration:**
|
|
85
|
+
|
|
86
|
+
Themes are loaded in the main process and delivered to the renderer via IPC. Specify the theme file path in `setupTitlebarAndAttachToWindow()` options:
|
|
87
|
+
|
|
88
|
+
Theme JSON schema (v1):
|
|
89
|
+
```json
|
|
90
|
+
{
|
|
91
|
+
"version": 1,
|
|
92
|
+
"fontFamily": "Segoe UI, Arial, sans-serif",
|
|
93
|
+
"fontSize": 13,
|
|
94
|
+
"colors": {
|
|
95
|
+
"titlebar": "#1f2430",
|
|
96
|
+
"titlebarForeground": "#f3f4f6",
|
|
97
|
+
"menuBar": "#181c25",
|
|
98
|
+
"menuItemSelection": "#2f3a4f",
|
|
99
|
+
"menuSeparator": "#4b5563",
|
|
100
|
+
"svg": "#e5e7eb"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
81
105
|
To see the options you can include in the Title Bar constructor, such as color of elements, icons, menu position, and much more, and the methods you can use, go to the [wiki](https://github.com/AlexTorresDev/custom-electron-titlebar/wiki)
|
|
82
106
|
|
|
83
107
|
## 💰 Support
|