Open oulongwen opened 2 months ago
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 4workspace: { anchor: "next", wrap: true }
wraps to workspace 1workspace: { anchor: "next", create: true }
creates and switches to workspace 5I 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).
I get the error message below when running command
mwm.Do("focus-workspace", { workspace: "previous" })
from the first workspace: The expected behavior is to switch to the last workspace.