branch: externals/exwm
commit 4c043471c5e2b3c45e94bd98a3a5b6f83283fc39
Author: Chris Feng
Commit: Chris Feng
Prevent certain frame parameters from being saved/restored
* exwm-input.el (exwm-input--init):
* exwm-randr.el (exwm-randr--init):
* exwm-workspace.el (exwm-workspace--init):
Add certain frame parameters into `frameset-filter-alist' to prevent
them from being saved/restored which makes little sense and is
problematic.
---
exwm-input.el |6 +-
exwm-randr.el |6 +-
exwm-workspace.el |7 ++-
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/exwm-input.el b/exwm-input.el
index 9e98c62..7f174c2 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -767,7 +767,11 @@ Its usage is the same with
`exwm-input-set-simulation-keys'."
;; Re-grab global keys.
(add-hook 'exwm-workspace-list-change-hook
#'exwm-input--on-workspace-list-change)
- (exwm-input--on-workspace-list-change))
+ (exwm-input--on-workspace-list-change)
+ ;; Prevent frame parameters introduced by this module from being
+ ;; saved/restored.
+ (dolist (i '(exwm-grabbed))
+(push (cons i :never) frameset-filter-alist)))
(defun exwm-input--exit ()
"Exit the input module."
diff --git a/exwm-randr.el b/exwm-randr.el
index 5caf875..1d77fb5 100644
--- a/exwm-randr.el
+++ b/exwm-randr.el
@@ -160,7 +160,11 @@
;;xcb:randr:NotifyMask:CrtcChange))
))
(xcb:flush exwm--connection)
-(add-hook 'exwm-workspace-list-change-hook #'exwm-randr--refresh)
+(add-hook 'exwm-workspace-list-change-hook #'exwm-randr--refresh
+ ;; Prevent frame parameters introduced by this module from being
+ ;; saved/restored.
+ (dolist (i '(exwm-randr-output exwm-geometry))
+(push (cons i :never) frameset-filter-alist)))
(defun exwm-randr--exit ()
"Exit the RandR module."
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 617ad38..9d5401e 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -1466,7 +1466,12 @@ applied to all subsequently created X frames."
(add-hook 'delete-frame-functions
#'exwm-workspace--remove-frame-as-workspace)
;; Switch to the first workspace
- (exwm-workspace-switch 0 t))
+ (exwm-workspace-switch 0 t)
+ ;; Prevent frame parameters introduced by this module from being
+ ;; saved/restored.
+ (dolist (i '(exwm-outer-id exwm-id exwm-container exwm-workspace
+ fullscreen exwm-selected-window exwm-urgency))
+(push (cons i :never) frameset-filter-alist)))
(defun exwm-workspace--exit ()
"Exit the workspace module."