tumashu / exwm-x

A derivative WM based on EXWM (emacs x window manager)
82 stars 8 forks source link

Clean dependencies #10

Closed conao3 closed 3 years ago

conao3 commented 4 years ago

Hi!

Currently, the dependencies of this package (exwm-x) include things that are unnecessary for the user, and the modularity of the package is impaired. For example, users have their own favorite packages for switch-window and ivy dependencies, and relying on unnecessary packages will cause users to install useless packages. I'm using ivy so no problem, but helm users won't want to install ivy. I also use ace-window instead of switch-window, so switch-window is not necessary.

Bundled sample configuration examples will be welcomed, but we don't think you will be asked to install the suite. If @purcell has any additional comments about the general MELPA packaging strategy, please comment. (maybe divide the package as exwm-x and exwm-x-ivy for ivy integration code)

conao3 commented 4 years ago

And the dependency of bind-key is also something wrong. The bind-key is for the user, not the package. As proof, this exwm-x is the only package that depends on bind-key except for use-package related packages. (see MELPA bind-key page)

This is because packages can create minor modes and set shortcuts to take precedence over other major/minor modes. This will ensure that key bindings are successfully released when exwmx-mode is turned off (if defined).

tumashu commented 4 years ago

I do not think so :-)

  1. exwm-x‘s many function is hard cord ivy‘s function, so need to require ivy
  2. at the moment, only switch-window work well exwm, ace-window is not :-)
  3. exwm-x need bind-key's some function
tumashu commented 3 years ago

the problem should be solved

conao3 commented 3 years ago

Thanks, great.