-
Notifications
You must be signed in to change notification settings - Fork 15
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
Corfu, posframe, and child frames #64
Comments
Othewise, we won't be able to delete the frame (frames with surrogate minibuffers cannot be deleted). * exwm-workspace.el (exwm-workspace-delete): Transfer surrogate minibuffers to the next workspace before attempting to delete a workspace (part of #64). (exwm-workspace--prompt-delete): Use `exwm-workspace-delete' instead of directly calling `delete-frame'.
Othewise, we won't be able to delete the frame (frames with surrogate minibuffers cannot be deleted). * exwm-workspace.el (exwm-workspace-delete): Transfer surrogate minibuffers to the next workspace before attempting to delete a workspace (part of #64). (exwm-workspace--prompt-delete): Use `exwm-workspace-delete' instead of directly calling `delete-frame'.
The inability to delete workspaces after using corfu was fixed in #74. However, users still need to remove the IMO, we should punt the full fix till after #8. Once we've fixed that, we'll have a single frame per monitor. As it stands, if we parent X windows on the workspace frame we'd need to re-parent whenever moving windows between workspaces (doable, just a bit annoying). |
By redirecting frame focus to the the workspace frame, corfu, posframe, etc. prevent EXWM from deleting it.(edit: fixed in #74) From what I can tell, this wouldn't usually be an issue if, e.g., corfu frame declared the workspace to be its parent frame, but it explicitly removes that relationship as it would cause the corfu frame to be displayed below other X windows.This was partially solved in #74, but the real solution is to make
parent-frame
work correctly (which would remove the need for a bunch of hacks in corfu and friends). Options include:exwm--root
. I believe this should put child frames and other non-floating X windows on the same "plane", allowing child frames to "overlay" other X windows.We may also want to be more forceful when deleting EXWM frames. From what I can tell, the only way to really force-delete a frame is to call
(delete-frame frame 'noelisp)
(which also, unfortunately, prevents/defers? the hooks from running).Probably causing ch11ng/exwm#888 and other issues.
The text was updated successfully, but these errors were encountered: