Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds surface focusing mode #3859

Closed
wants to merge 2 commits into from
Closed

Adds surface focusing mode #3859

wants to merge 2 commits into from

Conversation

al-caveman
Copy link

- Adds 'focus estranged left|right|up|down|next|prev'
- Modifies sibling focus from: 'focus next|prev sibling' into:
'focus sibling next|prev' for consistency with the estranged one.

Fixes #3738

@al-caveman al-caveman changed the title Adds estranged focus, and changes sibling's syntax Generalizes cmd_focus_direction to contain sibling and new mode: lazy Nov 7, 2019
@Airblader
Copy link
Member

I'm a bit constrained on time and I think @orestisfl understands this code the best at the moment anyway, perhaps he can take a look and help you further on this for now.

My only comment right now is that we'll need to squash the commits into one proper commit in the end, but of course there's many other things to be done as well (userguide, tests). :-) I'm not yet sure about the "lazy" (for the record, I dislike "estranged" even more). We should try to think of a more descriptive name.

@al-caveman
Copy link
Author

And I just did my 1st github squash ever 😀. I don't know for sure, but by the looks of it, my heart says that something is not right.

@Airblader
Copy link
Member

my heart says that something is not right.

Yeah, it is definitely not correct at the moment. :-/

@al-caveman
Copy link
Author

Fixed commit. Now my PR looks as if I always was a very smart guy.

I guess the trick is to always forcefully push lies to my github fork? I.e. 1st rewrite history to look smart, then push such lie by push -f?

@Airblader
Copy link
Member

Yes, squashing rewrites the history of your feature branch and therefore requires rewriting the history. :-)

@al-caveman al-caveman changed the title Generalizes cmd_focus_direction to contain sibling and new mode: lazy Adds surface focusing mode Feb 29, 2020
@al-caveman
Copy link
Author

al-caveman commented Feb 29, 2020

now i no longer touch the implementation of cmd_focus_sibling, nor alter its syntax. i only extended cmd_focus_direction to have an extra argument mode that is either normal or surface. i.e. it adds this:

focus left|right|up|down|next|prev surface

o, and, instead of calling the new mode lazy or estranged, i called it surface - thoughts? its naming comes from the imagination: it lets you move around the tiles as if you are a bird flying over the surface (visible tiles), without causing to unhide any hidden tiles.

synopsis: this feature will allow navigating throughout stacked/tabbed/normal windows without getting stuck in tab/stack swamps (more info on this in #3738), without even needing mod+a to get out of the swamp. it noticeably enhances i3's usability.

a neat side effect: once coupled with focus next|prev [sibling], we can effectively configure i3 such that tabs vs. stacks is only a matter of appearance. e.g. we can consider stacks/tabs to be (say) themes of tabs, so users shuffle them accordingly to (say) minimize pixel wastage.

@Airblader
Copy link
Member

I'm OK with the complexity of the change, but haven't reviewed it yet. I'm not too happy with the naming yet, though. To be continued. :)

@al-caveman
Copy link
Author

al-caveman commented Mar 5, 2020

how about visible or visible-only (or only-visible.. dunno which one is more english (or should it be plural? e.g. visibles? visibles-only? only-visibles))?

@stapelberg
Copy link
Member

Closing this PR as the author is banned from all i3 community spaces after interactions such as (but not limited to) https://www.freelists.org/post/i3-discuss/squigz-abusing-op-power-in-i3-i3offtopic

@stapelberg stapelberg closed this Jul 19, 2020
al-caveman added a commit to al-caveman/i3-extras that referenced this pull request Sep 17, 2020
al-caveman added a commit to al-caveman/i3-extras that referenced this pull request Sep 17, 2020
al-caveman added a commit to al-caveman/i3-extras that referenced this pull request Sep 17, 2020
al-caveman added a commit to al-caveman/i3-extras that referenced this pull request Sep 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Better handling of stack/tab swamps
3 participants