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

Error message when switching to the previous desktop from the first desktop #35

Open
oulongwen opened this issue Sep 6, 2024 · 2 comments

Comments

@oulongwen
Copy link

oulongwen commented Sep 6, 2024

I get the error message below when running command mwm.Do("focus-workspace", { workspace: "previous" }) from the first workspace:
image
The expected behavior is to switch to the last workspace.

@imawizard
Copy link
Owner

Thanks for the report!

With "last workspace" do you mean wrapping around?
Like if you have 4 virtual desktops and you recently switched from the 3rd to the 1st:
1¹ | 2 | 3² | 4
¹: active, ²: last active
Do you now expect workspace: "previous" to go to workspace 4 or 3? For going back to 3, there is workspace: "mru"

Also how about making it a no-op when on the first workspace, and making it wrap around to 4 with workspace: { anchor: "previous", wrap: true }, or equivalently workspace: { offset: -1, wrap: true }?

As for workspace: "next" when on workspace 4, the current behavior is that workspace 5 gets automatically created and switched to, so there wouldn't be neither a wrap-around nor a no-op. What would the expected behavior be in your opinion?
Maybe something like

  • workspace: "next" is a no-op on workspace 4
  • workspace: { anchor: "next", wrap: true } wraps to workspace 1
  • workspace: { anchor: "next", create: true } creates and switches to workspace 5

@oulongwen
Copy link
Author

I was expecting to go to workspace 4 in your example because I have been using VD.ahk before and this is how it works.

What you suggested makes good sense to me. IMHO it is good to allow users to choose among no-op, wrapping, and creating a new workspace.

Similarly, mwm.Do("focus-monitor", { monitor: "previous" }) is a no-op on monitor 1. It would be great if there is a { anchor: "previous", wrap: true } option for monitors.

BTW thank you a lot for creating this tool. I have tried a few windows tiling managers and this is the best so far. Looking forward to Windows 11 compatibility since my personal desktop is running Win 11 (I currently use this tool on my work laptop which runs Win 10).

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

2 participants