Skip to content
This repository was archived by the owner on Feb 8, 2026. It is now read-only.

[i34wm][i3ass][i3fyra] --rotate|--move [request] #231

@1ntronaut

Description

@1ntronaut
  • i3fyra --rotate [sibling|family] is a great succes and very welcome addition to [i34wm], works like a charm.

Excuse me if this is actually two request, in stead of one; but the behaviour is so similar I thought I'd of them as one in the first place (see idea 1 and idea 2 respectively)

Would it be possible to make i3fyra rotate in order of containers in i3ass? This will probably/maybe require yet another big chunk of rewriting code (or not, i don't know?).

  • please add short option i3fyra -R for i3fyra --rotate`

Idea 1

  • This would basically be a conditionally invoked, but sequential i3fyra --rotate/i3fyra --move commands, issued to the PARENT I3FYRA CONTAINER (and only the VISUAL ones, depending

  • i3fyra --rotate [right|clockwise|clock|c] would cause the following movement of containers:
    (( the opposite behaviour will probably be named i3fyra --rotate [left|anticlockwise|aclock|a] ))

example

on my screen (container C focused):
A B
C D

i3fyra --rotate [right|clockwise|clock|c] would give me
C B
A D

another `i3fyra --rotate [right|clockwise|clock|c]' would give me
A C
D B

another `i3fyra --rotate [right|clockwise|clock|c]' would give me
D A
B C

another i3fyra --rotate [right|clockwise|clock|c] would return to the original
A B
C D


I've considered the following breaking changes in regards to my request above:

1) Of course i3fyra --rotate [right|clockwise|clock|c] should only 'rotate' through VISIBLE containers, meaning if:

on my screen:
A B
A D

i3fyra --rotate [right|clockwise|clock|c] would give me
D A
D B

i3fyra --rotate [right|clockwise|clock|c] would give me
B D
B A

another `i3fyra --rotate [right|clockwise|clock|c]' would return to the original
A B
A D

2) just a minor afterthought; if:

on my screem
C B
C B

i3fyra --rotate [right|clockwise|clock|c] would give me
B C
B C

at this point, i3fyra --rotate [right|clockwise|clock|c] would essentially be the same as i3fyra --rotate family`


Idea 2

I'd like a similar function not moving** the i3fyra CONTAINERS around, but only the focused container..

In my mind it could for example be an additional argument to i3fyra --move and those would be i3fyra --move [clockwise|clock|c] and i3fyra --move anticlockwise|aclock|a].
This would still fit the current scripts, as the --move option for a destination i3fyra CONTAINER is CaPs-SeNsItIvE as of now, anyway.
Another contender would be i3fyra --cycle [right|r|clockwise|clock|c vs i3fyra --cycle [left|l|anticlockwise|aclock|a]

example:
on my screen, window in i3fyra CONTAINER C is focused
A B
C* D

i3fyra --move [clockwise|clock|c] would function the same as i3fyra --move up
A* B
C D

another i3fyra --move [clockwise|clock|c] would function the same as i3fyra --move right
A B*
C D

another i3fyra --move [clockwise|clock|c] would function the same as i3fyra --move down
A B
C D*

another i3fyra --move [clockwise|clock|c] would return to the original state
A B
C* D

1) I've considered more breaking features for this one, but it basically boils down to being able to consider which i3fyra CONTAINERS are currently VISIBLE (otherwise, the command i3fyra --move will triger (un)hiding the next container, in stead of cycling through the VISIBLE containers.


THanks for the amazing work @budRich ; love the ass.

Would above functinoality be possible within i3ass, or is this a case of 'you should write your personal bash script'

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions