project-repo/cagebreak

navigating screens question and suggestion

kinleyd opened this issue ยท 9 comments

In my first post I forgot to thank you for cagebreak. I've been evaluating compositors for my needs and have been through kiwmi, japokwm, wayfire, sway and cagebreak. So far I like cagebreak most of all.

Back to my question:

You currently support 'movetonextscreen' but there is no equivalent movetoprevscreen.
For multiple 3 to 4 screen configurations the second command would be useful.

Also, is it not possible to move to a screen directly, like 'movetoscreen 3'?

The same thing with prevscreen and nextscreen: something like 'focusscreen 3', if it were possible, would be useful.

Thank you! It's great to hear that cagebreak seems to suit your needs.

About your question, yes, that absolutely makes sense. The reason this
wasn't implemented earlier is that no-one has needed it up to now, but
seeing as there now appears to be a use-case, we can definitely
implement these features. In future releases, cagebreak will then most
likely support movetoprevscreen and movetoscreen <n> (as these are
distinct functionalities).

The only issue I see at this point is that the numbering of screens is
not directly canonical. To resolve this, I suggest that per default,
screens are numbered according to the order in which they were added
along with an additional configuration option to specify numbering (this
would most likely be an additional option for the already existent
output command). Does that seem fine to you?
cheers,
project-repo

Thank you for this suggestion. This will be implemented in the release
where the rest of this issue is resolved (probably the next one).

To summarize, presumably the release pertaining to #11 will include:

  • movetoprevscreen as a command symmetric to movetonextscreen
  • movetoscreen <n> as a command similar to movetoworkspace
  • screen <n> as a command similar to workspace <n>
  • additional output functionality for monitor numbering (of
    course backwards-compatible, such that valid configs remain
    valid)

If anything changes with regard to this draft, we will post it here so
you can let us know what you think.

cheers,
project-repo

Super - I greatly look forward to their addition, and thank you for your responsiveness!

Everything mentioned on our last comment has now been implemented on the
development branch. (More specifically in 851a2f8,
though documentation was added later.)

The simple commands work as proposed in our previous comment.
The output command has a new feature called prio now, which you can call as follows:

output <name of the output> prio <n>

All outputs, regardless of configuration are added once they request to be added
and have a default priority of -1. Using prio, you can set priorities
greater than or equal to 1 for specific outputs and hence order your outputs
as you wish. Note that cagebreak -s might be useful while fiddling around
with this.

If you like, you can check it out on development and compile it for yourself.
If you're up to it we would be glad to know what you think about it,
especially when output prio is applied to your multi-screen setup and
regarding the readability of the cagebreak-config man page description of
output prio.

Please note that this is not a release yet and the development branch
might undergo changes.

cheers
project-repo

I took the development branch for a swirl, and it looks good. Thank you!

Everything works as you had set out: screen, movetoscreen, movetoprevscreen and output screen prio all work as expected. The default screen position now reflects the prio settings and that's great.

I took a look at the updates to the man page as well and it looks quite clear.

So hey, thank you for the great work! I look forward to the incorporation of the new features in the master branch when it is ready.

Happy holidays and a happy new year!

This issue has been resolved in release 1.9.0.

I am closing this Issue.

Please feel free to reopen if problems persist or open a new issue.

cheers
project-repo

Thanks guys, much appreciated! My apologies for not getting back with test experience on this and some other issues. I've had a breaking issue on my Arch setup following Arch Linux's splitting of various firmware files into different packages. So I'll be able to test the updated versions of Cagebreak only after I resolve that issue, BUT that itself is also deferred for now on account of a pile up of my things to do (irl). So I will get back after that. Meanwhile, keep on chugging. Cheers!