project-repo / cagebreak

Cagebreak: A Wayland Tiling Compositor Inspired by Ratpoison
MIT License
286 stars 19 forks source link

Cagebreak terminology #31

Closed kinleyd closed 1 year ago

kinleyd commented 2 years ago

This isn't an issue per se, but concerns cagebreak terminology. I won't try to cover the entire range of terms used but stick to the ones that concern me at the moment:

OK, so I get the use of the terms 'output', 'workspace' and 'tile'.

So my question: In cagebreak, what exactly is a 'screen'? At the moment, the use of nextscreen, prevscreen, movetoscreen, movetonextscreen, movetoprevscreen all seem to suggest that 'screen' is the same as 'output'. If so, shouldn't all the aforementioned commands have screen replaced with output? eg. nextoutput, prevoutput, etc.

project-repo commented 2 years ago

You make an interesting point.

We have considered this and the tricky bit is that both output and *screen are defined cagebreak commands. It would be difficult to merge these two commands in a reasonable way (even with the freedom of breaking changes).

Additionally, there is a sort of informal symmetry between output and input we would like to maintain.

Our current conclusion is that we will leave the commands unmodified. The now ex-post defined distinction between output and screen is that the screen stuff works with the natural number uniquely identifying the output within a given cagebreak session (but not across sessions, "nextscreen" and "prevscreen" do so internally by in-/decrementing this number), whereas output always deals with an output name as does input with an input name.

Please feel free to point out any other inconsistencies in cagebreak or better solutions than outlined above in this issue.

You can post your suggestions here.

We will close this issue once 2.0.0 is released where the points mentioned above will be outlined in the documentation. Please leave it open in the mean time. Afterwards, you may open a new issue.

cheers project-repo

kinleyd commented 2 years ago

Our current conclusion is that we will leave the commands unmodified. The now ex-post defined distinction between output and screen is that the screen stuff works with the natural number uniquely identifying the output within a given cagebreak session (but not across sessions, "nextscreen" and "prevscreen" do so internally by in-/decrementing this number), whereas output always deals with an output name as does input with an input name.

That makes perfect sense. Additionally, I also realize that there is the virtual display for which the concept of 'screen' as distinct from 'output' is necessary as a screen could then be a fraction of an output, or combine multiple outputs.

We will close this issue once 2.0.0 is released where the points mentioned above will be outlined in the documentation. Please leave it open in the mean time. Afterwards, you may open a new issue.

Hey, I look forward to version 2.0.0!

project-repo commented 2 years ago

We have now modified the cagebreak-config man page on the development branch to clarify the relationship of output and the screen family of commands.

Please let us know if anything can be improved in that regard.

cheers project-repo

project-repo commented 1 year ago

Hi kinleyd,

we have improved the documentation in this regard and it is included with release 2.0.0.

I am closing this issue

cheers project-repo