Skip to content
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

opening a popup window closes all other windows #147

Open
melodrom opened this issue Mar 14, 2021 · 3 comments
Open

opening a popup window closes all other windows #147

melodrom opened this issue Mar 14, 2021 · 3 comments

Comments

@melodrom
Copy link

I noticed that everytime I call describe-function or describe-variable and the popwin window opens, it almost always closes all my other window splits that have been open at the moment. This means that all my windows, but the one ive called the popup window from, get closed. Same case with undo-tree.

For some reason this isnt something that really always happens, it happens about 95% of the time though, for the remaining 5% it just works fine and my window layout remains.

@Kinneyzhang
Copy link

Have the same problem, so annoy!

@peccu
Copy link

peccu commented Jan 16, 2024

I found some issue around this, but I can't fix it.

If you split frame like this :

-----------------
|       |   B   |
|   A   |-------|
|       |   C   |
-----------------

The function popwin:window-config-tree does not return correct value.
It should includes 3 windows configuration, but it returns only 1 window configuration.

There seems to be no problem when there are multiple splits only in the horizontal direction or only in the vertical direction.

However, when splits in the horizontal and vertical directions are mixed, it appears to cause issues.

@peccu
Copy link

peccu commented Jan 16, 2024

Oh, maybe you can fix it by revert this commit. but I can't judge whether it is applicable for all user.

@@ -201,8 +201,9 @@ HFACTOR, and vertical factor VFACTOR."
    (cl-destructuring-bind (dir edges . windows) node
      (append (list dir edges)
              (cl-loop for window in windows
-                       unless (and (windowp window)
-                                   (window-parameter window 'window-side))
+                       unless (or (and (windowp window)
+                                       (window-parameter window 'window-side))
+                                  (not (windowp window)))
                       collect (popwin:window-config-tree-1 window))))))

(defun popwin:window-config-tree ()

c5c9831

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

No branches or pull requests

3 participants