[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 1bc66b6 07/11: Merge branch 'mattbeshara.github.co
From: |
Adrián Medraño Calvo |
Subject: |
[elpa] externals/exwm 1bc66b6 07/11: Merge branch 'mattbeshara.github.com/less-consy-workspace--client-p' into externals/exwm |
Date: |
Sat, 13 Nov 2021 16:51:02 -0500 (EST) |
branch: externals/exwm
commit 1bc66b6438d7b62012de18c6a1a6992270f4e54c
Merge: 52a0b1c d0b0b38
Author: Adrián Medraño Calvo <adrian@medranocalvo.com>
Commit: Adrián Medraño Calvo <adrian@medranocalvo.com>
Merge branch 'mattbeshara.github.com/less-consy-workspace--client-p' into
externals/exwm
---
exwm-workspace.el | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 6fa7e9d..273ead7 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -165,10 +165,21 @@ NIL if FRAME is not a workspace"
"Return t if FRAME is a workspace."
(memq frame exwm-workspace--list))
+(defvar exwm-workspace--client-p-hash-table
+ (make-hash-table :test 'eq :weakness 'key)
+ "Used to cache the results of calling ‘exwm-workspace--client-p’.")
+
(defsubst exwm-workspace--client-p (&optional frame)
"Return non-nil if FRAME is an emacsclient frame."
- (or (frame-parameter frame 'client)
- (not (display-graphic-p frame))))
+ (let* ((frame (or frame (selected-frame)))
+ (cached-value
+ (gethash frame exwm-workspace--client-p-hash-table 'absent)))
+ (if (eq cached-value 'absent)
+ (puthash frame
+ (or (frame-parameter frame 'client)
+ (not (display-graphic-p frame)))
+ exwm-workspace--client-p-hash-table)
+ cached-value)))
(defvar exwm-workspace--switch-map nil
"Keymap used for interactively selecting workspace.")
@@ -1458,7 +1469,8 @@ the next workspace."
;; care of converting a workspace into a regular unmanaged frame.
(let ((exwm-workspace--create-silently t))
(make-frame)))
- (exwm-workspace--remove-frame-as-workspace frame))))
+ (exwm-workspace--remove-frame-as-workspace frame)
+ (remhash frame exwm--client-p-hash-table))))
(defun exwm-workspace--on-after-make-frame (frame)
"Hook run upon `make-frame' that configures FRAME as a workspace."
- [elpa] externals/exwm updated (deabe9c -> 10bd122), Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 8905e85 04/11: Rename variable using ‘exwm-workspace’ package prefix; add docstring, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 52a0b1c 06/11: Merge branch 'tumashu.github.com/master' into externals/exwm, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm d0b0b38 05/11: Explicitly remove workspace frames from client-p cache when deleted, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 3d648ef 01/11: Add variable indicating XIM buffers, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 1863361 02/11: Merge branch 'tumashu.github.com/master' into externals/exwm, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 182ffbe 03/11: Use a hash table to cache result of ‘exwm-workspace--client-p’, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 1bc66b6 07/11: Merge branch 'mattbeshara.github.com/less-consy-workspace--client-p' into externals/exwm,
Adrián Medraño Calvo <=
- [elpa] externals/exwm 571ca22 08/11: Remove duplicate code, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 08f20ea 10/11: Fix previous commit "Remove duplicate code", Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 10bd122 11/11: Bump version to 0.26, Adrián Medraño Calvo, 2021/11/13
- [elpa] externals/exwm 5098708 09/11: Correct wrong variable name, Adrián Medraño Calvo, 2021/11/13