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

`assign [tiling] $ws` is ignored. #3222

Closed
crocket opened this Issue Apr 4, 2018 · 6 comments

Comments

Projects
None yet
4 participants
@crocket

crocket commented Apr 4, 2018

Output of i3 --moreversion 2>&- || i3 --version:

Binary i3 version:  4.15-non-git © 2009 Michael Stapelberg and contributors
Running i3 version: 4.15-non-git (pid 27087)-c to abort…)
Loaded i3 config: /home/guardian/.config/i3/config (Last modified: Wed 04 Apr 2018 09:38:55 AM KST, 773 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: /usr/bin/i3

URL to a logfile as per https://i3wm.org/docs/debugging.html:

https://logs.i3wm.org/logs/5652096565116928.bz2

What I did:

I added assign [tiling] $ws2

What I saw:

Tiled windows don't go to $ws2.

What I expected instead:

Tiled windows should go to $ws2.
assign [floating] $ws is ignored as well.

@i3bot i3bot added the 4.15 label Apr 4, 2018

@Airblader Airblader added the bug label Apr 4, 2018

@orestisf1993

This comment has been minimized.

Member

orestisf1993 commented Apr 4, 2018

The window doesn't have a container here:

i3/src/match.c

Lines 245 to 247 in bc760c2

if (match->window_mode != WM_ANY) {
if ((con = con_by_window_id(window->id)) == NULL)
return false;

We would have to move the assignment code:

i3/src/manage.c

Line 261 in bc760c2

/* If not, check if it is assigned to a specific workspace */

after floating is enabled/disabled:

i3/src/manage.c

Line 534 in bc760c2

if (want_floating) {

@Airblader

This comment has been minimized.

Member

Airblader commented Apr 4, 2018

I assume moving it there would cause all kinds of problems.

@orestisf1993

This comment has been minimized.

Member

orestisf1993 commented Apr 4, 2018

That's my assumption as well, manage.c is a bit complicated. I'll see if we can determine floating early without breaking stuff.

@orestisf1993

This comment has been minimized.

Member

orestisf1993 commented Apr 4, 2018

@crocket the workaround here is to use for_window [tiling] move to workspace $ws2

@orestisf1993

This comment has been minimized.

Member

orestisf1993 commented Apr 4, 2018

This is a chicken & egg problem: the assignment code produces a container but we need a floating / tiling container for the match to work.

@Airblader

This comment has been minimized.

Member

Airblader commented Apr 4, 2018

Perhaps we should just document that floating/tiling do not work with assign. I don't really see a strong usecase for that kind of match anyway (that is in the spirit of i3) and if there is, for_window will do the trick.

orestisf1993 added a commit to orestisf1993/i3 that referenced this issue Oct 2, 2018

stapelberg added a commit that referenced this issue Oct 7, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment