emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm 5222dc1 49/64: Avoid deleting the frame created by


From: Chris Feng
Subject: [elpa] externals/exwm 5222dc1 49/64: Avoid deleting the frame created by Emacs client by accident
Date: Thu, 17 Sep 2015 23:18:08 +0000

branch: externals/exwm
commit 5222dc17d66375f20485d65573043e5a8286ae9d
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Avoid deleting the frame created by Emacs client by accident
    
    When Emacs is invoked as `emacsclient -a '' -c`, it creates a frame that can
    be deleted without any prompt. This commit removes the `client` parameter 
from
    that frame to avoid such inconvenience.
---
 exwm-workspace.el |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/exwm-workspace.el b/exwm-workspace.el
index 27e3179..f4e1dd1 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -24,9 +24,6 @@
 
 ;; This module adds workspace support for EXWM.
 
-;; Todo:
-;; + prevent from deleting frames of Emacs client (`frame-delete-functions')
-
 ;;; Code:
 
 (defvar exwm-workspace-number 4 "Number of workspaces (1 ~ 10).")
@@ -230,8 +227,10 @@ The optional FORCE option is for internal use only."
     ;; Emacs client creates an extra (but unusable) frame
     (dolist (i exwm-workspace--list)
       (unless (frame-parameter i 'window-id)
-        (setq exwm-workspace--list (delq i exwm-workspace--list)))))
-  (cl-assert (= 1 (length exwm-workspace--list)))
+        (setq exwm-workspace--list (delq i exwm-workspace--list))))
+    (cl-assert (= 1 (length exwm-workspace--list)))
+    ;; Prevent user from deleting this frame by accident
+    (set-frame-parameter (car exwm-workspace--list) 'client nil))
   ;; Create remaining frames
   (dotimes (i (1- exwm-workspace-number))
     (nconc exwm-workspace--list



reply via email to

[Prev in Thread] Current Thread [Next in Thread]