branch: externals/bufferlo
commit 135a25f0b3c20def3f5961a460ee287a8db06342
Author: shipmints <[email protected]>
Commit: shipmints <[email protected]>
GTK frame handling improvements and assq-delete-all fix copy the alist
---
bufferlo.el | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/bufferlo.el b/bufferlo.el
index 7c86fd8acf..4f449a99db 100644
--- a/bufferlo.el
+++ b/bufferlo.el
@@ -2451,17 +2451,16 @@ Geometry set for FRAME or the current frame, if nil."
(setq frame (or frame (selected-frame)))
(let-alist frame-geometry
(when (and .left .top .width .height) ; defensive in case geometry stored
from a tty
- (modify-frame-parameters frame `((user-position . t)
- (left . ,.left)
- (top . ,.top)))
- (sit-for 0 t)
- ;; Clamp frame size restored from a larger display
- (set-frame-parameter frame 'fullscreen nil)
- (set-frame-size frame
- (min .width (display-pixel-width))
- (min .height (display-pixel-height))
- 'pixelwise)
- (sit-for 0))))
+ (let ((frame-inhibit-implied-resize t))
+ (modify-frame-parameters frame `((fullscreen . nil) ; fullscreen via
default-frame-alist when set
+ (user-position . t)
+ (left . ,.left)
+ (top . ,.top)
+ (user-size . t)
+ ;; Clamp frame size restored from a
larger display
+ (width . (text-pixels . ,(min .width
(display-pixel-width))))
+ (height . (text-pixels . ,(min
.height (display-pixel-height))))))
+ (sit-for 0)))))
(defvar bufferlo--active-sets nil
"Global active bufferlo sets.
@@ -2502,7 +2501,7 @@ FRAMESET is a bufferlo-filtered `frameset'."
;; frameset-restore checks for fullscreen in frame parameters
;; and its handling is wonky and the restore filter has no
;; effect, so we remove it locally.
- (default-frame-alist (assq-delete-all 'fullscreen
default-frame-alist)))
+ (default-frame-alist (assq-delete-all 'fullscreen (copy-tree
default-frame-alist))))
(with-temp-buffer
(ignore-errors
;; Sadly, frameset-restore returns neither a status nor a list of
restored frames.