i3 / i3

A tiling window manager for X11
https://i3wm.org/
BSD 3-Clause "New" or "Revised" License
9.55k stars 778 forks source link

Any Floating Window or GUI Stuck Fullscreen When Doing Restart #1263

Closed i3bot closed 10 years ago

i3bot commented 10 years ago

[Originally reported by i3-new-ticket] (Hi,

I noticed when using the default key bindings in 4.7.2, also in the 'next branch' this problem occurs when using a 'class floating' for anything, a terminal or gui...

for_window [class="URxvt"] floating enable border pixel 0

I can reproduce this 100% every time.

With any window, a term or gui application, and placing it in fullscreen, then switching to another workspace and restarting i3, then going back to the workspace that the term or application is on opened full screen, it is stuck on the workspace and I can't bring it out of full screen.

These are the steps to reproduce the problem. Try this using the class as I showed above for URxvt, or just make a class floating for any application...

1.mod+enter - (open term)

2.mod+f - (put term in fullscreen)

  1. mod+4 - (pick any number and switch to another workspace)
  2. mod+shift+r - (restart i3) - IMPORTANT, be sure you restart on another workspace!
  3. Now go back to the workspace the term, or application is open full screen on, then press mod+f to bring it out of full screen, it should now be stuck and not respond to mod+f
i3bot commented 10 years ago

[Original comment by anonymous]

Something I forgot to mention, any GUI application that remembers position and size, and the end-user has various apps resized to their likes, when they get stuck full screen and you close it, the app is going to remember full size and start this way the next time. This is another down side to this problem, always needing to go back and resize your applications...

stapelberg commented 10 years ago

I can reproduce this, but only with the for_window entry in the config file. I guess it’s related to storing the original geometry of floating windows, but a quick look didn’t reveal anything obvious. Need to write a test case.

i3bot commented 10 years ago

[Original comment by anonymous]

Ok I went back and ran in debug and attached the log;

exec i3 --shmlog-size=26214400 and DISPLAY=:0 i3-dump-log | bzip2 -c > /tmp/i3.log.bz2

stapelberg commented 10 years ago

This ticket was fixed in commit http://c.i3wm.org/893dbae4:

Bugfix: don’t overwrite the window’s geometry after restarting

fixes #1263
stapelberg commented 10 years ago

This ticket was fixed in commit http://c.i3wm.org/e69fcbb1:

Bugfix: ensure floating windows don’t drop out of fullscreen when restarting

fixes #1263
stapelberg commented 10 years ago

This ticket was fixed in commit http://c.i3wm.org/35f15f85:

Bugfix: don’t errnously render floating fullscreen windows during restart

fixes #1263
stapelberg commented 10 years ago

This ticket was fixed in commit http://c.i3wm.org/2e4a2d4f:

Bugfix: don’t overwrite the original size of floating windows when changing border style

fixes #1263
i3bot commented 10 years ago

[Original comment by anonymous]

This is looking good in the next branch... :)

i3bot commented 10 years ago

[Original comment by anonymous]

Ooops I spoke to soon, my term, URXvt two of them stacked dropped out of full screen when going a restart.

Here's what I did;

  1. mod+enter
  2. mod+shift+space
  3. mod+enter
  4. mod+shift+space
  5. mod+shift+r both screen come out of full screen

I was assuming any screen full, or tiled like this is not going to come out of fullscreen?

I'm on a newer next branch too;

i3 version 4.7.2-204-g893dbae (2014-06-13, branch "next")

i3bot commented 10 years ago

[Original comment by anonymous]

Forgot to mention with a GUI application, anything you can think of or use, follow the same steps and restart, I'm finding GUI apps are coming out of tile view, or one stacking on top of each other.

Now I always float the GUI apps I use, so maybe this is the problem not the actual intended idea behind i3, but the end-user can still float applications, so they should not be loosing their tile position or restacking on each other when doing a restart.

Please make several GUI applications float and test this.

for_window [class="Bleachbit"] floating enable border pixel 1 for_window [class="CMST - Connman System Tray"] floating enable border pixel 1 for_window [class="Deadbeef"] floating enable border pixel 1 for_window [class="feh"] floating enable border pixel 0 for_window [class="Firefox"] floating enable border pixel 1 for_window [class="Fslint-gui"] floating enable border pixel 1 for_window [class="Geany"] floating enable border pixel 1 for_window [class="Ghb"] floating enable border pixel 1 for_window [class="Gimp"] floating enable border pixel 1 for_window [class="Hexchat"] floating enable border pixel 1 for_window [class="URxvt"] floating enable border pixel 0 for_window [class="Keepassx"] floating enable border pixel 1 for_window [class="Kid3-qt"] floating enable border pixel 1 for_window [class="Lxappearance"] floating enable border pixel 1 for_window [class="mpv"] floating enable border pixel 1 for_window [class="Nvidia-settings"] floating enable border pixel 1 for_window [class="Qpdfview"] floating enable border pixel 1 for_window [class="Spacefm"] floating enable border pixel 1 for_window [class="Steam"] floating enable border pixel 1 for_window [class="Transmission-gtk"] floating enable border pixel 1 for_window [class="URxvt" title="(?i)(weechat|htop)"] floating enable, border pixel 1 for_window [class="Viewnior"] floating enable border pixel 1 for_window [class="VirtualBox"] floating enable border pixel 1 for_window [class="XCalc"] floating enable for_window [class="Xfce4-notifyd-config"] floating enable border pixel 1 for_window [class="Xfce4-notifyd"] floating enable border pixel 1 for_window [class="Yad"] floating enable

thanks

stapelberg commented 10 years ago

Replying to comment 9 by anonymous:

Ooops I spoke to soon, my term, URXvt two of them stacked dropped out of full screen when going a restart.

Here's what I did;

  1. mod+enter
  2. mod+shift+space
  3. mod+enter
  4. mod+shift+space
  5. mod+shift+r both screen come out of full screen

I was assuming any screen full, or tiled like this is not going to come out of fullscreen? There’s no fullscreen in your steps to reproduce.

Please always provide a logfile, also for this new issue. Come to think of it, next time, open a new ticket instead of reopening an old one.

i3bot commented 10 years ago

[Original comment by anonymous]

Ok new logged attached...

Also with the same steps below except I added mod+e, then I did a restart and both terms came out of full screen back to floating

mod+enter mod+shift+space mod+enter mod+shift+space mod+e mod+shift+r

Then I tiled to apps side by side and restarted and the both came out of the tile back to floating stacked one on top...

thanks

stapelberg commented 10 years ago

There still is no fullscreen instruction in your steps to reproduce?! Also your logfile does not contain a fullscreen command, i.e. it only covers the parts after the restart. Can you please attach a full logfile of before and after the restart?

Also, please try to reproduce this with the default config. If it does not happen in the default config, add lines from your config until you can reproduce and let us know which parts were necessary.

i3bot commented 10 years ago

[Original comment by anonymous]

Sorry I'm talking about mod+shift+space look at the last log regarding this.

mod+enter mod+shift+space

And then doing these steps over and having two windows tiled, this is what I meant, my bad, I didn't mean mod+f

stapelberg commented 10 years ago

You still didn’t do what I asked you for:

Can you please attach a full logfile of before and after the restart? Also, please try to reproduce this with the default config. If it does not happen in the default config, add lines from your config until you can reproduce and let us know which parts were necessary.

i3bot commented 10 years ago

[Original comment by anonymous]

Sorry, before & after attached...

i3bot commented 10 years ago

[Original comment by anonymous]

I just noticed all the bug reports I've been making and have been fixed are not in the latest Master branch, sorry I'm not sure how all this works with i3, but the site says;

The 'master' branch is the current stable version plus bugfixes.

So I was assuming that meant any of these bug fixes would also be placed into the Master branch?

thanks

stapelberg commented 10 years ago

All these bugfixes are in the master branch because we recently did a release (4.8). I decided not to explicitly merge them into master because of the release that was just a day away or so. But typically you’re right.

i3bot commented 10 years ago

[Original comment by anonymous]

Sorry, confused, you said they are in the master, then said you decided not to...

So after the release, wouldn't the fixes then go into master?

I was hoping #1270 would be in the master...

thanks michael

stapelberg commented 10 years ago

It’s difficult and subtle to decide what’s a clear bugfix and what’s a change in behavior. The commit mentioned in #1270 is the latter IMO, i.e. it’s too risky to merge that into master.

i3bot commented 10 years ago

[Original comment by anonymous]

Ahhh ok...

I'm assuming once the risk as been assessed, it will eventually be in the stable?

thanks

stapelberg commented 10 years ago

No, it will not go into master. I only merge commits that are clear and simple bugfixes into master.

i3bot commented 10 years ago

[Original comment by anonymous]

Bugfix: ensure floating windows don’t drop out of fullscreen when restarting

fixes #1263

I'm assuming this means when doing mod+shift+r the widows should maintain position?

When doing mod+shift+space to make a window bigger, and then doing mod+shift+r the windows come out of this mode and go small. It would also be nice if the windows would not move...

thanks Mii

stapelberg commented 10 years ago

Windows should maintain their position during an inplace restart, correct. The commit you pasted has nothing to do with that (it’s about fullscreen mode, which is orthogonal to positions), though.

If you can reproduce the behavior you’re describing, please file a separate issue about that. Ideally with the default config, and definitely including a log file.