exwm icon indicating copy to clipboard operation
exwm copied to clipboard

Corfu, posframe, and child frames

Open Stebalien opened this issue 8 months ago • 1 comments

~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:

  1. Having exwm manually re-parent child frames to the root window.
  2. 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.

Stebalien avatar Jun 23 '24 02:06 Stebalien