xwem-patches
[Top] [All Lists]

Summary for xwem--main--2.2--patch-32

From: Zajcev Evgeny <lg@xxxxxxxx>
Subject: Summary for xwem--main--2.2--patch-32
Date: Fri, 23 Sep 2005 21:01:29 +0400
Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/

Revision: xwem--main--2.2--patch-32
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Fri Sep 23 21:01:18 MSD 2005
Standard-date: 2005-09-23 17:01:18 GMT
Modified-files: lisp/xwem-clients.el lisp/xwem-struct.el
New-patches: dev@xxxxxxxxxxxxxxxx/xwem--dev--2.2--patch-27
    lg@xxxxxxxxxxxxxx/xwem--main--2.2--patch-32
Summary: Fixes last client operations
Keywords: cliens, last

* lisp/xwem-struct.el (xwem-last-client): NUM argument added to return
  NUMs last client.

* lisp/xwem-clients.e (xwem-cl-select): [revert]

* lisp/xwem-clients.el (xwem-select-last-or-other-client): [fix] Scan
  xwem-last-clients stack to find out most suitable client for selection.

* added files

    {arch}/xwem/xwem--dev/xwem--dev--2.2/dev@xxxxxxxxxxxxxxxx/patch-log/patch-27
    {arch}/xwem/xwem--main/xwem--main--2.2/lg@xxxxxxxxxxxxxx/patch-log/patch-32

* modified files

--- orig/lisp/xwem-clients.el
+++ mod/lisp/xwem-clients.el
@@ -523,8 +523,7 @@
   (xwem-client-local-variables-import (xwem-cl-selected))
 
   ;; Set CL to be current client
-  (unless (xwem-dummy-client-p (xwem-cl-selected))
-    (setf (xwem-last-client) (xwem-cl-selected)))
+  (setf (xwem-last-client) (xwem-cl-selected))
   (setf (xwem-cl-selected) cl)
 
   (xwem-client-local-variables-export cl))
@@ -794,12 +793,13 @@
   (when (or force
             (xwem-cl-selected-p cl)
             (xwem-cl-selected-p (xwem-dummy-client)))
-    (if (and (xwem-cl-alive-p (xwem-last-client))
-             (not (eq (xwem-last-client) cl))
-             (or allow-dummy
-                 (not (xwem-dummy-client-p (xwem-last-client)))))
-        (xwem-select-client (xwem-last-client))
-      (xwem-select-client (xwem-cl-other cl)))))
+    (let ((lcl (find cl xwem-last-clients
+                     :test #'(lambda (cl lcl)
+                               (and (xwem-cl-alive-p lcl)
+                                    (not (eq lcl cl))
+                                    (or allow-dummy
+                                        (not (xwem-dummy-client-p lcl))))))))
+      (xwem-select-client (or lcl (xwem-cl-other cl))))))
 
 
 ;;;###xwem-autoload


--- orig/lisp/xwem-struct.el
+++ mod/lisp/xwem-struct.el
@@ -398,9 +398,9 @@
 (defsetf xwem-cl-selected () (cl)
   `(setq xwem-current-cl ,cl))
 
-(defmacro xwem-last-client ()
-  "Return last selected client."
-  '(car xwem-last-clients))
+(defmacro xwem-last-client (&optional num)
+  "Return NUMs last selected client."
+  '(nth (or num 0) xwem-last-clients))
 (defsetf xwem-last-client () (cl)
   `(progn
      (push ,cl xwem-last-clients)




<Prev in Thread] Current Thread [Next in Thread>
  • Summary for xwem--main--2.2--patch-32, Zajcev Evgeny <=