pjeby / pane-relief

Obsidian plugin for per-pane history, pane movement/navigation hotkeys, and more
232 stars 6 forks source link

Cycle to next / previous workspace panes aren't working correctly #16

Closed Randy-Astle closed 2 years ago

Randy-Astle commented 2 years ago

Obsidian version: 0.15.3 Pane Relief version: 0.0.25

Using either of these commands, I end up toggling between the two left most panes (tested with three open editor panes). There is also an odd third state where the command seems to set the focus to the active pane, then on the next use of the command, it actually shifts to the other pane.

With three open editor panes, even if I start on the right most pane, it evolves to just toggling between the two left panes and apparently setting the focus.

Randy

pjeby commented 2 years ago

I am not able to reproduce this problem with 0.15.3. Can you give specific instructions for how to reproduce (e.g. starting from sandbox vault + Pane Relief)?

(Note, by the way, that Pane Relief's next/prev commands do not support popout windows or sidebars yet: if you are in a sidebar or popout, the next/previous commands will currently go to the first or last pane in the main area of the main window. So if your third pane is in a sidebar or popout, that might produce the effect you're describing.)

Randy-Astle commented 2 years ago

Interesting.

The three panes are editor panes in the center - none of them are a popout or sidebar.

Perhaps it is an interaction with one of the other community plugins that I have installed.

I have several vaults. Will do more testing to see if I get consistent behavior.

Note that I reinstalled Obsidian when the problem first became obvious.

pjeby commented 2 years ago

Try updating to Pane Relief 0.1.3 -- it now has improved support for 0.15.3, including commands to cycle between windows and its navigation order within windows has been improved slightly.

Randy-Astle commented 2 years ago

I did upgrade and the problem persisted.

The culprit appears to be another extension called "Automatically Reveal Active File". It appears to be setting the focus to the file explorer pane. You will know better than I how panes are managed in Obsidian and so can probably speculate on how that matches to the behavior that I observed.

Interestingly, I suspected it and disabled it but the problem didn't go away. I had to uninstall it and re-launch Obsidian.

Thanks for your responsiveness. Very helpful!

pjeby commented 2 years ago

In 0.15, the built-in "reveal file in explorer" command shifts focus to the file explorer, so if that plugin is using that command internally, that's what'll happen. I'm going to go ahead and close this since Pane Relief is working correctly.

pjeby commented 2 years ago

After playing around a bit I've noticed this is a problem even if you're not using that plugin, other commands can steal the focus away to sidebar panes in 0.15.3.

So I've now added some code to Pane Relief to detect this situation and work around it -- if the focus is on a sidebar view, it will navigate relative to the most-recently-active tab in the center area. This should make it less frustrating to navigate panes in 0.15.3 regardless of what other plugins you're using.

Randy-Astle commented 2 years ago

That's great!

Thanks again.