mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-09-19 02:10:04 +08:00
feat(touch_bar): basic integration
This commit is contained in:
parent
4cffc50218
commit
a170bec3db
@ -25,6 +25,7 @@ import type { default as NoteContext, GetTextEditorCallback } from "./note_conte
|
||||
import type { ContextMenuEvent } from "../menus/context_menu.js";
|
||||
import type TypeWidget from "../widgets/type_widgets/type_widget.js";
|
||||
import type EditableTextTypeWidget from "../widgets/type_widgets/editable_text.js";
|
||||
import TouchBarWidget from "../widgets/touch_bar.js";
|
||||
|
||||
interface Layout {
|
||||
getRootWidget: (appContext: AppContext) => RootWidget;
|
||||
@ -444,6 +445,10 @@ class AppContext extends Component {
|
||||
|
||||
this.components = [this.tabManager, new RootCommandExecutor(), new Entrypoints(), new MainTreeExecutors(), new ShortcutComponent()];
|
||||
|
||||
if (utils.isElectron() && utils.isMac()) {
|
||||
this.components.push(new TouchBarWidget());
|
||||
}
|
||||
|
||||
if (utils.isMobile()) {
|
||||
this.components.push(new MobileScreenSwitcherExecutor());
|
||||
}
|
||||
|
37
src/public/app/widgets/touch_bar.ts
Normal file
37
src/public/app/widgets/touch_bar.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import utils from "../services/utils.js";
|
||||
import Component from "../components/component.js";
|
||||
|
||||
export default class TouchBarWidget extends Component {
|
||||
|
||||
remote: typeof import("@electron/remote");
|
||||
|
||||
constructor() {
|
||||
super();
|
||||
this.remote = utils.dynamicRequire("@electron/remote") as typeof import("@electron/remote");
|
||||
this.#setTouchBar();
|
||||
}
|
||||
|
||||
#setTouchBar() {
|
||||
const touchBarData = this.#buildTouchBar();
|
||||
this.remote.getCurrentWindow().setTouchBar(touchBarData);
|
||||
console.log("Setting touch bar", touchBarData);
|
||||
}
|
||||
|
||||
#buildTouchBar() {
|
||||
const { TouchBarButton } = this.remote.TouchBar;
|
||||
|
||||
const items = [
|
||||
new TouchBarButton({
|
||||
label: "New note",
|
||||
click: () => {
|
||||
console.log("New note pressed.");
|
||||
}
|
||||
})
|
||||
];
|
||||
|
||||
return new this.remote.TouchBar({
|
||||
items
|
||||
});
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user