I find the behaviour of this function confusing as it is right now.
1. Let's start with a empty ion workspace +---+ | | | | | | +---+ 2. I first split it vertically +-+-+ | | | | | | | | | +---+ 3. Now ionws_goto_right/left works is I expect it to ( switching to left/right ws) 4. Now i split the left workspace horizontally +-+-+ |A| | +-+C| |B| | +---+ 5. This is also somewhat logical, If A is the last active ws and i issue a i onws_goto_right i will end up in C, if i from here issue a ionws_goto_left I will end up in A (last active ws out of A/B), I will never end up in B with ionws_goto_left/right. 6. So let's keep splitting the workspaces (split C to C/D. +-+-+ |A|C| +-+-| |B|D| +---+ 7. Now if i my active ws is A and i issue a ws_goto_right I can't be sure what workspace I end up in ( the workspace i will end up in is the last one active out of C and D ). I would prefer if ionws_goto_right would if possible goto the neighbour workspace. There are situations when this is not appliciable, for example if we have 5 workspaces. +-+-+ |A|C| +-+-| | |D| |B+-| | |E| +---- 8. In this situation I would prefer if A/C would be in respect to eachother n eighbours, and B(D/E) would be considerd as (uneven) and the moving from B to right would put me in the last active window out of D/E. I belive that this would make it easier to navigate through the workspaces in ion, it might be flawed or just insane. :)
