[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 37e51e6 1/3: Fix a workspace switch issue
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm 37e51e6 1/3: Fix a workspace switch issue |
Date: |
Tue, 19 Jul 2016 11:38:28 +0000 (UTC) |
branch: externals/exwm
commit 37e51e65ade14ded8d4a45cc725b4b66bab6b879
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Fix a workspace switch issue
* exwm-workspace.el (exwm-workspace--switch-map-nth-prefix):
Add more checking conditions.
---
exwm-workspace.el | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/exwm-workspace.el b/exwm-workspace.el
index 551ccbf..5d4d78f 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -337,11 +337,17 @@ PREFIX-DIGITS is a list of the digits introduced so far."
(* o x))
prefix-digits)))
(n (+ pn d))
- (num-workspaces (exwm-workspace--count)))
- (if (= (length prefix-digits)
- (floor (log (1- num-workspaces) 10)))
+ prefix-length index-max index-length)
+ (if (or (= n 0)
+ (> n
+ (setq index-max (1- (exwm-workspace--count))))
+ (>= (setq prefix-length (length prefix-digits))
+ (setq index-length (floor (log index-max 10))))
+ ;; Check if it's still possible to do a match.
+ (> (* n (expt 10 (- index-length prefix-length)))
+ index-max))
(exwm-workspace--switch-map-select-nth n)
- ;; go ahead if there are enough digits to select any workspace.
+ ;; Go ahead if there are enough digits to select any workspace.
(set-transient-map
(let ((map (make-sparse-keymap))
(cmd `(lambda ()