[i3fyra] Restart i3 will cause the layout corrupted with bunch of "i3: nowins" #30
Labels
No labels
Arch PKGBUILD
bug
build
commandline
duplicate
enhancement
font
good first issue
help wanted
implemented
is-it-really-a-bug?
necromancy
not-reproducable
question
reproducable
rofi
solved?
stalled
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
bud/i3ass#30
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The issue is described as title. I wonder if there is an easy way to restore the layout. Currently the only thing I can do is to close all the windows and all the "i3: nowins". Otherwise, spawning new windows cannot be handled properly by i3fyra.
Steps to reproduce:
i3fyra version used is 0.501, installed from AUR.
Thanks!
Thanks for the testing and an excellent issue report.
tl;dr: use
i3-msg reloadinstead ofi3-msg restartWhen this happens, the easiest and best thing to resore is to simple restart (logout/login) i3, but it often works if you make all "normal" windows floating move them to another workspace and then do:
i3-msg killtill all strange windows are destroyed.The
i3-msg restartissue is a bug with i3, that is somehow related to marks and possibly multiple tabbed containers or maybe marks on hidden(ghosts) windows, which is something i am using a lot in i3fyra. I have reported this issues to i3wm (https://github.com/i3/i3/issues/2900) , and it was supposed to be fixed a couple of versions back, but issue still remained at least when doing the i3fyra stuff. And i didn't want to bother the i3 devs more about it. Because: with the later versions of i3, restart is more or less never needed.i3-msg reloadnow also reloads colors and fonts, and this was the only reason i was using restart.Before i realized that reload can completely replace restart for all my needs i spend a lot of time hacking a restart script (the script noted all window positions and, made all windows floating, killed all empty containers, removed all marks, then applied the same layout again), that worked ok, but it was really slow (like 2 seconds) and not perfect at all.
I have been thinking about using the root window to store all marks(i3var) instead. This might actually solve the issue but I am not sure.
I will investigate this, I have had this issue reported before (on other channels) and if it persists it will make i3fyra look more broken then it is.
Thanks for the quick and detailed response. Yes, it makes sense to only use
i3-msg reloadin that case. There used to be an issue in polybar that made me to usei3-msg restartas workaround. However, I have just tried a few times but cannot reproduce it it anymore, so I guess I will happily avoidi3-msg restartfrom now on.The issue I came across was that some tray items would become missing during polybar re-launch. The tray daemon process exists but just doesn't show in tray area. I came up with a workaround where I restart all tray daemon processes then the polybar itself in i3 config with
exec_alwaysso that a simplei3-msg restartcould get everything reset properly.sounds similar to my issues. I also use polybar, and i made a quick and dirty script, that kills any existing polybars and restart them instead of using the normal polybar-msg restart command, to make sure that i don't get problems.
But i think both polybar has gotten more stable, and the i3 reload function better so almost all these issues are now non existent.
I will keep this issue open till I have experimented further with marks and i3var.
@lukewang1024 , i think restarts works Ok now, im closing this. have a great day!