diff --git a/src/main.ts b/src/main.ts index 0f6370c..b9daec7 100644 --- a/src/main.ts +++ b/src/main.ts @@ -129,6 +129,23 @@ export default class CommanderPlugin extends Plugin { ) ); + this.registerDomEvent(document, 'fullscreenchange', () => { + if (document.fullscreenElement) { + this.settings.toggles.forEach((toggle, index) => { + if (toggle.triggerWhenEnteringFullscreen) { + this.executeToggle(index); + } + }); + } + else { + this.settings.toggles.forEach((toggle, index) => { + if (toggle.triggerWhenExitingFullscreen) { + this.executeToggle(index); + } + }); + } + }); + app.workspace.onLayoutReady(() => { updateHiderStylesheet(this.settings); updateMacroCommands(this); diff --git a/src/types.ts b/src/types.ts index f0d8730..b45e0c5 100644 --- a/src/types.ts +++ b/src/types.ts @@ -25,6 +25,8 @@ export interface Toggle { icon: string; commands: string[]; nextCommandIndex: number; + triggerWhenEnteringFullscreen: boolean; + triggerWhenExitingFullscreen: boolean; } export interface CommanderSettings { diff --git a/src/ui/components/ToggleBuilder.tsx b/src/ui/components/ToggleBuilder.tsx index c96bd1b..276a106 100644 --- a/src/ui/components/ToggleBuilder.tsx +++ b/src/ui/components/ToggleBuilder.tsx @@ -21,6 +21,8 @@ export default function ({ const [name, setName] = useState(toggle.name || "Toggle Name"); const [icon, setIcon] = useState(toggle.icon || "star"); const [nextCommandIndex] = useState(toggle.nextCommandIndex || 0); + const [triggerWhenExitingFullscreen, setTriggerWhenExitingFullscreen] = useState(toggle.triggerWhenExitingFullscreen || false); + const [triggerWhenEnteringFullscreen, setTriggerWhenEnteringFullscreen] = useState(toggle.triggerWhenEnteringFullscreen || false); const [commands, setCommands] = useState( JSON.parse(JSON.stringify(toggle.commands)) || [] ); @@ -56,6 +58,22 @@ export default function ({ +
+
+ +
+
+ +
+
{commands.map((item, idx) => { const command = getCommandFromId(item); @@ -125,7 +143,7 @@ export default function ({ disabled={commands.length === 0} onClick={() : void => { if (commands.length) - onSave({ commands: commands, name, icon, nextCommandIndex }); + onSave({ commands: commands, name, icon, nextCommandIndex, triggerWhenEnteringFullscreen, triggerWhenExitingFullscreen }); }} > Save diff --git a/src/ui/components/ToggleViewer.tsx b/src/ui/components/ToggleViewer.tsx index e7350ac..29d4d02 100644 --- a/src/ui/components/ToggleViewer.tsx +++ b/src/ui/components/ToggleViewer.tsx @@ -91,7 +91,7 @@ export default function ToggleViewer({