exwm
exwm copied to clipboard
Corfu, posframe, and child frames
~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:
- Having exwm manually re-parent child frames to the root window.
- Parenting tiled windows to the emacs workspace instead of
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 https://github.com/ch11ng/exwm/issues/888 and other issues.