branch: externals/exwm
commit 382bdd899c818d5019b53093c5d8eee332203e73
Author: Daniel Mendler <m...@daniel-mendler.de>
Commit: Daniel Mendler <m...@daniel-mendler.de>

    Deprecate exwm-config
    
    The example configuration should not be loaded directly. Instead copy the
    relevant settings to your user configuration. Fix #57.
    
    * exwm.el: Update commentary.
    * exwm-config.el: Update commentary. Print warning when used.
    (exwm-config-example, exwm-config-misc, exwm-config-ido): Mark as obsolete.
---
 exwm-config.el | 27 ++++++++++++++++++++++-----
 exwm.el        |  4 ++--
 2 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/exwm-config.el b/exwm-config.el
index 4a7bf71db4..36270a3065 100644
--- a/exwm-config.el
+++ b/exwm-config.el
@@ -21,15 +21,26 @@
 
 ;;; Commentary:
 
-;; This module contains typical (yet minimal) configurations of EXWM.
+;; This module contains an example configuration of EXWM.  Do not require this
+;; file directly in your user configuration.  Instead take it as inspiration 
and
+;; copy the relevant settings to your user configuration.
 
 ;;; Code:
 
 (require 'exwm)
-(require 'ido)
+
+(defun exwm-config--warn ()
+  "Print obsoletion warning."
+  (fset #'exwm-config--warn #'ignore)
+  (warn "The `exwm-config' file has been deprecated. We do not recommend
+requiring `exwm-config' directly in your Emacs configuration. Instead
+copy and modify the relevant settings to your configuration. The code
+from here will be moved out of the source repository to the manual after
+the next release. See https://github.com/emacs-exwm/exwm/issues/57.";))
 
 (defun exwm-config-example ()
   "Default configuration of EXWM."
+  (exwm-config--warn)
   ;; Set the initial workspace number.
   (unless (get 'exwm-workspace-number 'saved-value)
     (setq exwm-workspace-number 4))
@@ -72,14 +83,15 @@
   ;; Enable EXWM
   (exwm-enable)
   ;; Configure Ido
-  (exwm-config-ido)
+  (with-no-warnings (exwm-config-ido))
   ;; Other configurations
-  (exwm-config-misc))
+  (with-no-warnings (exwm-config-misc)))
+(make-obsolete 'exwm-config-example "Copy the relevant settings to your 
configuration." "0.30")
 
 (defun exwm-config--fix/ido-buffer-window-other-frame ()
   "Fix `ido-buffer-window-other-frame'."
   (defalias 'exwm-config-ido-buffer-window-other-frame
-    (symbol-function #'ido-buffer-window-other-frame))
+    (symbol-function 'ido-buffer-window-other-frame))
   (defun ido-buffer-window-other-frame (buffer)
     "This is a version redefined by EXWM.
 
@@ -110,16 +122,21 @@ You can find the original one at 
`exwm-config-ido-buffer-window-other-frame'."
 
 (defun exwm-config-ido ()
   "Configure Ido to work with EXWM."
+  (exwm-config--warn)
+  (declare-function ido-mode "ido")
   (ido-mode 1)
   (add-hook 'exwm-init-hook #'exwm-config--fix/ido-buffer-window-other-frame))
+(make-obsolete 'exwm-config-ido "Copy the relevant settings to your 
configuration." "0.30")
 
 (defun exwm-config-misc ()
   "Other configurations."
+  (exwm-config--warn)
   ;; Make more room
   (menu-bar-mode -1)
   (tool-bar-mode -1)
   (scroll-bar-mode -1)
   (fringe-mode 1))
+(make-obsolete 'exwm-config-misc "Copy the relevant settings to your 
configuration." "0.30")
 
 
 
diff --git a/exwm.el b/exwm.el
index bb2c855961..679b74fa28 100644
--- a/exwm.el
+++ b/exwm.el
@@ -49,8 +49,8 @@
 ;; 2. In '~/.emacs', add following lines (please modify accordingly):
 ;;
 ;;    (require 'exwm)
-;;    (require 'exwm-config)
-;;    (exwm-config-example)
+;;    (setq exwm-input-global-keys `(([?\s-r] . exwm-reset)))
+;;    (exwm-enable)
 ;;
 ;; 3. Link or copy the file 'xinitrc' to '~/.xinitrc'.
 ;; 4. Launch EXWM in a console (e.g. tty1) with

Reply via email to