Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Directional movement is non intuitive when moving focus across monitors #380

Closed
ntrrgc opened this issue Jan 23, 2016 · 2 comments
Closed

Comments

@ntrrgc
Copy link

ntrrgc commented Jan 23, 2016

Suppose we have two monitors with two windows each, like this:

+---------------------+    +---------------------+
| +-------+ +-------+ |    | +-------+ +-------+ |
| |       | |       | |    | |       | |       | |
| |   A*  | |   B   | |    | |   C   | |   D*  | |
| |       | |       | |    | |       | |       | |
| +-------+ +-------+ |    | +-------+ +-------+ |
+---------------------+    +---------------------+
       |   *  |                   |      |
      ----------                 ----------

The stars show what is focused. The focus is at left monitor, window A. Window D is not really focused, but it is the focused (default?) window of the right screen, so running bspc monitor --focus east will focus D. You can replicate this setup just by opening these four windows and clicking first on D, then on A.

In the case shown in the picture, where we have focused A, we can run this bspc command to focus B.

bspc node --focus east

It works fine, yet running it again it will focus D, not C. That's not very intuitive, since the next window at the right of B is C. bspwm is switching focus just to the monitor at the right, not really the window at the right!

Is this the expected behavior? Is there any way to get a more natural directional movement command that does not jump windows when switching monitors?

@ntrrgc ntrrgc changed the title Directional movement is non intuitive when moving focus across screens Directional movement is non intuitive when moving focus across monitors Jan 23, 2016
@neeasade
Copy link
Contributor

This is expected behavior out of the box, as you are switching to the monitor node/recently focused.

some things I tried in this scenario (while focused on B in the above picture) that I thought might work but didn't:

  • configuring history_aware_focus to false (I might not quite understand this conf)
  • bspc node -f east.leaf (in case just -f east just considered ALL nodes including monitors and thus focused the monitor node > last active)
  • bspc node -a east.leaf (activate the east window node leaf, so that when the monitor node is focused it's the expected node)
  • bspc node -f $(bspc query -N -n east.leaf)

@ntrrgc
Copy link
Author

ntrrgc commented Feb 18, 2016

Since the way bspwm implements this is not satisfactory for me I have ended rolling my own focus utility:

https://github.com/ntrrgc/right-window

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants