windowsemacsdaemonframesspacemacs

Make Spacemacs server/daemon not share windows in different frames


When I create new frames, they all share the windows. If I have 2 frames and 2 windows (with different buffers), the other frame will list the window number as 2 instead of 1.

I want to have the frames have their own window list starting at 1 so that I can M-<n> in that frame and not worry about other frames.

Does anybody know a variable I can customize for this, or any way to achieve what I want?

Edit: This is a spacemacs specific thing relating to the server. The command that is used is:

winum-select-window-1 ; M-1

And M-n is for the nth window.

I looked at winnum.el and it seems to support frames having their own window lists, which is the behavior with non daemon mode.

A relevant variable might be winum--numbers-table which stores a hash-table of numbers to windows. Perhaps some code can be written to modify this table so that a new frame creation keeps its own hash-table. I have no idea on how to this right now however.


Solution

  • Nothing to do with client/server as far as I can see, and the behaviour you want is already supported by winum.el: you can simply customize the winum-scope user option to be frame-local; or use:

    (setq winum-scope 'frame-local)
    

    I don't think Spacemacs will be a factor unless it's also setting the scope explicitly, in which case you may need to ensure that your config takes precedence. (I just tested by installing winum.el; I'm not using Spacemacs.)