raboof / notion

Tiling tabbed window manager
https://notionwm.net/
GNU Lesser General Public License v2.1
268 stars 63 forks source link

Feature request: new full-screen windows should remember their parent #300

Open dkogan opened 3 years ago

dkogan commented 3 years ago

Hi. This is something that has been bugging me for at least 10 years. I tried to fix it once, but couldn't figure it out. If you can do this, that would be amazing. Recipe:

  1. Open a terminal window
  2. Press whatever key makes the window go full-screen. This works.
  3. I can repeatedly press the full-screen key, and the window jumps back/forth between being full-screened and being a part of whatever frame it started in.
  4. While the terminal window is full-screened, open another child terminal window. If we ran xterm originally, run xterm again from within the terminal. The new window will open full-screened.
  5. Now press the full-screen button in the new window. Nothing happens. Because the new window started out as a full-screen window, so it doesn't know which frame it should go to.

I argue that this is a bug. The fullscreen button should ALWAYS toggle the full-screen state of the active window. In this case I think the new window should inherit the parent's frame of origin, and that's where the new window should go when we ask it to not be full-screened anymore.

Thanks

wilhelmy commented 3 years ago

I've run into the same thing before and I agree with you on what the fix would be.

dnr commented 3 years ago

I've run into this before and would love a fix as well.

I'd go further and say it doesn't matter if the new window is a "child" of the old one (as in was created by a child process of the one that created the old one), any new window created while one is full-screened should have its original frame set to the frame that the current full-screened one came from. This would handle the situation where I full-screen a window, then launch another terminal with F2 or another program with F3.