Location: lg@xxxxxxxxxxxxxx http://arch.xwem.org/2005/
Revision: xwem--main--2.2--patch-16
Archive: lg@xxxxxxxxxxxxxx
Creator: Zajcev Evgeny <lg@xxxxxxxx>
Date: Fri May 20 02:42:15 MSD 2005
Standard-date: 2005-05-19 22:42:15 GMT
Modified-files: lisp/xwem-frame.el lisp/xwem-tabbing.el
New-patches: dev@xxxxxxxxxxxxxxxx/xwem--dev--2.2--patch-10
lg@xxxxxxxxxxxxxx/xwem--main--2.2--patch-16
Summary: frame configuration restore fix, tabber menu fix
Keywords: frame, tabber
* lisp/xwem-frame.el (xwem-set-frame-configuration): [fix] Restore
properties as well as set state, as well as select frame that was
selected when frame configuration saved.
* lisp/xwem-tabbing.el (xwem-tabber-popup-cl-menu): [fix] Popup menu for
<empty> tab as well as for client tab.
* added files
{arch}/xwem/xwem--dev/xwem--dev--2.2/dev@xxxxxxxxxxxxxxxx/patch-log/patch-10
{arch}/xwem/xwem--main/xwem--main--2.2/lg@xxxxxxxxxxxxxx/patch-log/patch-16
* modified files
--- orig/lisp/xwem-frame.el
+++ mod/lisp/xwem-frame.el
@@ -1078,10 +1078,20 @@
(xwem-frame-saved-name sframe)
(xwem-frame-state frame)
(xwem-frame-saved-state sframe))
+ ;; Restore properties
+ (xwem-frame-set-properties
+ frame (xwem-frame-saved-plist sframe))
+ ;; Restore geometry
(xwem-frame-adjust-geom
frame (xwem-frame-saved-xgeom sframe))
+ ;; Restore windows configuration
(xwem-set-window-configuration
- (xwem-frame-saved-winconfig sframe)))
+ (xwem-frame-saved-winconfig sframe))
+ ;; Apply frame state
+ (xwem-frame-apply-state frame)
+ ;; Maybe select fram
+ (when (xwem-frame-saved-selected-p sframe)
+ (xwem-select-frame frame)))
(setq frames-to-delete (cons frame frames-to-delete)))))
(xwem-frames-list))
@@ -1161,8 +1171,7 @@
(when (and (xwem-frame-saved-selected-p sfr)
(not frame-to-select))
- (setq frame-to-select nframe)))
- ))
+ (setq frame-to-select nframe)))))
(cdr xwem-frame-dumped-config))
(when frame-to-select
(xwem-select-frame frame-to-select)))
--- orig/lisp/xwem-tabbing.el
+++ mod/lisp/xwem-tabbing.el
@@ -354,8 +354,26 @@
(if (xwem-cl-alive-p xwem-tabber-click-cl)
(xwem-popup-menu (xwem-generate-cl-menu xwem-tabber-click-cl))
;; TODO
-; (xwem-popup-menu nil
- ))
+ (let ((menu nil))
+ (when xwem-cl-mark-ring
+ (setq menu
+ (list
+ (vector (format "Attach %s" (xwem-client-name (car
xwem-cl-mark-ring)))
+ `(xwem-win-set-cl ,(xwem-frame-selwin
+ (or xwem-tabber-click-frame
(xwem-frame-selected)))
+ ,(car xwem-cl-mark-ring)))
+ (vector (format "Attach (unmark) %s" (xwem-client-name (car
xwem-cl-mark-ring)))
+ `(progn
+ (xwem-win-set-cl ,(xwem-frame-selwin
+ (or xwem-tabber-click-frame
(xwem-frame-selected)))
+ ,(car xwem-cl-mark-ring))
+ (xwem-client-unset-mark ,(car
xwem-cl-mark-ring)))))))
+ (when menu
+ (xwem-popup-menu (cons (format "Frame %d: %s"
+ (xwem-frame-num (or
xwem-tabber-click-frame (xwem-frame-selected)))
+ (xwem-frame-name (or
xwem-tabber-click-frame (xwem-frame-selected))))
+ menu))))
+ ))
(defun xwem-tabber-cl-at (tabber x y)
"Return client of TABBER which rectangle covers point at X Y."
|