When a workspace overflows the screen, allow offscreen columns to "peek" the edge #989
-
EDIT: This was originally written as a feature request, but it turns out that option A was already implemented as MotivationWhen your column widths perfectly fit the screen, I've noticed as a new user that it's easy to forget if there are any columns offscreen. Other users have mentioned similar things in the discussions of the "overview" feature request: #352 (comment), #352 (comment) High-level descriptionThere is a solution that doesn't require overviews - we could reserve some space on the edges of the output, where if there is an offscreen column, it peeks over the edge, so the user can see it. As a side effect, this would make navigation with a mouse a little bit easier - the user can see and click on the edge of offscreen columns to focus them and bring them onscreen. (Note, this is mainly applicable to the mode ImplementationA) Easy user configsJust add this as a config parameter - how much width should each output reserve for column peeking? Then niri does all the math internally (adjusting the proportional column widths to make it work, calculating where a newly-focused column needs to scroll in order to keep a peek next to it) B) Hacky user configs, but maybe simpler to implement internallyRecognize that part of the solution to this is already available to users - instead of using preset widths at exactly 1/2, 1/3, etc. of the output width, we could make them slightly smaller. For example, remove 4% from each width preset (i.e. scale the values by 96%). That way, if all columns use preset widths that add up to 96%, they leave 4% of the width for peeking. Then, if the onscreen content is perfectly centered, that would be 2% on both sides for offscreen peeking. However, there isn't currently a setting in Niri that can quite do this. With The minimum change that would enable something like this: Add a configuration option to set a "scroll offset" or a "margin" to be used by AlternativesHot-edges - when the cursor is on/near the edge of the output, scroll slightly so the user can see the column that is off that edge (if any). Main drawbacks:
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Adding left and right struts to your config should do what you want, making them 32px will always leave 32px at the left and right of the screen for other windows. It does not peek though |
Beta Was this translation helpful? Give feedback.
Adding left and right struts to your config should do what you want, making them 32px will always leave 32px at the left and right of the screen for other windows. It does not peek though