## 事象 以下いずれかのメソッドを呼び出したとき。 - `app.workspace.openPopout` - `app.workspace.openPopoutLeaf` - `app.commands.executeCommandById("workspace:open-in-new-window")` 以下のようなダイアログが表示され、[[Chrome devtools]]を見るとエラーになっている。 ![[2022-06-25_19h53_14.png]] ## 調査 [[Excalidraw]]を普通にインストールすると、`app.workspace.openPopoutLeaf`で動作してそう。コードを見てみる。 `main.ts`の804行目。 ```ts this.createAndOpenDrawing(getDrawingFilename(this.settings), "popout-window"); ``` `main.ts`の1909行目。 ```ts public async createAndOpenDrawing( filename: string, location: "active-pane"|"new-pane"|"popout-window", foldername?: string, initData?: string, ): Promise<string> { const file = await this.createDrawing(filename, foldername, initData); this.openDrawing(file, location); return file.path; } ``` `main.ts`の1791行目。 ```ts public openDrawing( drawingFile: TFile, location: "active-pane"|"new-pane"|"popout-window" ) { let leaf: WorkspaceLeaf; if(location === "popout-window") { //@ts-ignore leaf = app.workspace.openPopoutLeaf(); } ``` ここまでに特別なことはしていない。`app`が何かということくらい。 [[Obsidian API]]のバージョンが[[Excalidraw]]はv0.15.2だが、[[🦉Another Quick Switcher]]はv0.15.1。とはいえ使っている[[Obsidian]]はどちらもv0.15.2で動作に影響はないはず...。 ## 原因 `Ctrl`を押したまま[[Pop-outウィンドウ]]を開くとダメらしい。つまり、`Ctrl`を含むキーをアサインできない。 ## 解決方法 ## 参考 - マークダウンリンク