From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: martin rudalics Newsgroups: gmane.emacs.bugs Subject: bug#16436: feature request: select-window-hook Date: Tue, 14 Jan 2014 08:47:11 +0100 Message-ID: <52D4EB7F.7080004@gmx.at> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1389685694 10662 80.91.229.3 (14 Jan 2014 07:48:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 14 Jan 2014 07:48:14 +0000 (UTC) Cc: 16436@debbugs.gnu.org To: =?UTF-8?Q?=E9=99=88=E8=82=B2=E9=BE=99?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jan 14 08:48:21 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1W2yjS-0005eK-Js for geb-bug-gnu-emacs@m.gmane.org; Tue, 14 Jan 2014 08:48:18 +0100 Original-Received: from localhost ([::1]:46914 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2yjS-0006DM-8t for geb-bug-gnu-emacs@m.gmane.org; Tue, 14 Jan 2014 02:48:18 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:44555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2yjI-00063W-VS for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2014 02:48:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W2yjD-0003fK-3D for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2014 02:48:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35662) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W2yjC-0003fG-Vr for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2014 02:48:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1W2yjC-0003gI-Bd for bug-gnu-emacs@gnu.org; Tue, 14 Jan 2014 02:48:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 Jan 2014 07:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 16436 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 16436-submit@debbugs.gnu.org id=B16436.138968564814095 (code B ref 16436); Tue, 14 Jan 2014 07:48:02 +0000 Original-Received: (at 16436) by debbugs.gnu.org; 14 Jan 2014 07:47:28 +0000 Original-Received: from localhost ([127.0.0.1]:49681 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W2yid-0003fG-HZ for submit@debbugs.gnu.org; Tue, 14 Jan 2014 02:47:27 -0500 Original-Received: from mout.gmx.net ([212.227.17.20]:61007) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1W2yiX-0003f3-0D for 16436@debbugs.gnu.org; Tue, 14 Jan 2014 02:47:22 -0500 Original-Received: from [62.47.50.150] ([62.47.50.150]) by mail.gmx.com (mrgmx101) with ESMTPSA (Nemesis) id 0McR00-1VlJLD0Laq-00HbJM for <16436@debbugs.gnu.org>; Tue, 14 Jan 2014 08:47:19 +0100 In-Reply-To: X-Provags-ID: V03:K0:LOiT5JFUwWoBMCZvf9qtjwu3lPoRaSZdNoBpu4fVv8QsDVWmWWO 2QHrxgoYH8nza17VrBGZ5O3zpGKB4wvII3wNtegFHTeMiHaRjbJiO71K+cnhitmAMq96JDW hScu6cfv0RSwfZMQ/oM8EVjAqqi4SvNE/M13rg/SpVrGC9I8n32lWRNUXrCM5D6G2CAinNJ JJKothazcYBK1tGw+y0CA== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:83442 Archived-At: > I don't know whether I missed something but I can't find a hook like > select-window-hook in stand > hooks, > and I find some other emacs user has the same issue. > > I really want to have a function as select-last-window for emacs, by now, I > hack it in a ugly way, and I think select-window-hook can make it better. Try (defvar my-window nil) (defvar my-last-window nil) (defun my-last-window () (unless (or (window-minibuffer-p) (eq (selected-window) my-window)) (setq my-last-window my-window) (setq my-window (selected-window)))) (add-hook 'buffer-list-update-hook 'my-last-window) (defun select-last-window () (interactive) (when (and (window-live-p my-last-window) (not (eq my-last-window (selected-window)))) (select-window my-last-window))) martin