GNU bug report logs -
#36894
Restore frameset focus and selectedness
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Thu, 1 Aug 2019 21:47:02 UTC
Severity: normal
Tags: fixed, patch
Fixed in version 27.0.50
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
>> > The window manager always selects the last created frame, i.e.
>> > it seems it's impossible to create a new frame without selecting it.
>>
>> The xfce window manager has an option for whether a new window should
>> be automatically given focus or not.
>
> I'm not sure I understand what you both are saying. Are you saying
> that this problem is impossible to solve in Emacs?
The problem can be solved with this patch:
[frameset-restore-last-focus-frame.patch (text/x-diff, inline)]
diff --git a/lisp/frameset.el b/lisp/frameset.el
index 60b6fe38ad..4f7800630c 100644
--- a/lisp/frameset.el
+++ b/lisp/frameset.el
@@ -1346,6 +1352,16 @@ frameset-restore
(error
(delay-warning 'frameset (error-message-string err) :warning))))))
+ ;; Make sure the last selected frame has focus.
+ (let ((last-focus-frame
+ (catch 'last-focus
+ (maphash (lambda (frame _)
+ (when (frame-parameter frame 'last-focus-update)
+ (throw 'last-focus frame)))
+ frameset--action-map))))
+ (when last-focus-frame
+ (select-frame-set-input-focus last-focus-frame)))
+
;; Make sure there's at least one visible frame.
(unless (or (daemonp)
(catch 'visible
This bug report was last modified 5 years and 361 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.