## 事象
以下いずれかのメソッドを呼び出したとき。
- `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`を含むキーをアサインできない。
## 解決方法
## 参考
- マークダウンリンク