Hi, This is not directly related to bug#48916 but nonetheless derive from a same logic of window management. Actually the user can choose if windmove will create a window when it encounter the edges of the frame. I propose to let the user eventually provides instead a function that will be triggered in that case. The function will receive as arguments the `dir' and `window' bindings of `windmove-do-window-select' so it can adapt its behavior accordingly. The simplest use case I found for this feature is to creates a dispatch function that choose from the direction to display eg, a dired side window on the left, a shell side window on the top, a message side window on the bottom, another thing on the right ; and that act as a toggle, eg : windmove-left : creates a dired side window windmove-left again : delete the dired side window From here the function can be tuned again to behave differently in different contexts with eg, a local binding or by inspecting the WINDOW argument.