From 92d20e7e75dbb2ba0b879d3aedb8bed51fcee6a7 Mon Sep 17 00:00:00 2001 From: Oleh Krehel Date: Thu, 7 Jun 2018 21:21:59 +0200 Subject: [PATCH] Bring back "Make window ordering rely on frame position" Fixes #136 Fixes #135 --- ace-window.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ace-window.el b/ace-window.el index 41730b3..847d9d2 100644 --- a/ace-window.el +++ b/ace-window.el @@ -557,6 +557,11 @@ window." (t (ace-select-window)))) ;;* Utility +(unless (fboundp 'frame-position) + (defun frame-position (&optional frame) + (cons (frame-parameter frame 'left) + (frame-parameter frame 'top)))) + (defun aw-window< (wnd1 wnd2) "Return true if WND1 is less than WND2. This is determined by their respective window coordinates. @@ -565,8 +570,9 @@ Windows are numbered top down, left to right." (f2 (window-frame wnd2)) (e1 (window-edges wnd1)) (e2 (window-edges wnd2))) - (cond ((string< (frame-parameter f1 'window-id) - (frame-parameter f2 'window-id)) + (cond ((< (car (frame-position f1)) (car (frame-position f2))) + (not aw-reverse-frame-list)) + ((> (car (frame-position f1)) (car (frame-position f2))) aw-reverse-frame-list) ((< (car e1) (car e2)) t)