exwm icon indicating copy to clipboard operation
exwm copied to clipboard

Workspaces, tabs, and multi-monitor support

Open Stebalien opened this issue 1 year ago • 19 comments

EXWM currently supports "workspaces" by creating a new frame per workspace. Additionally, multiple monitors can be supported by assigning workspaces to monitors.

Unfortunately:

  1. Assignment of workspaces to monitors isn't automatic.
  2. With the introduction of the tab-bar, frame-based workspaces are mostly redundant.

So, my proposal is to:

  1. Remove or deprecate the current workspace feature.
  2. Associate floating windows with tabs, unless they're marked as sticky. We may have to advise tab-bar-select-tab, but I'm hoping that the window-configuration-change-hook is enough.
  3. Make the randr module automatically create/delete frames.

The tricky parts will be:

  1. Making this "just work", especially monitor configuration.
  2. Backwards compatibility. We can probably introduce some aliases for, e.g., exwm-workspace-next and friends, but we likely won't be able to replicate all features.

The upsides are:

  1. Better integration with Emacs packages by using the tab-bar.
  2. Visual indication of the current workspace (again, via the tab-bar).
  3. Automatic support for multiple monitors.

Stebalien avatar Jan 24 '24 00:01 Stebalien