From 77139d314fe44369bc899046fd33138664026db4 Mon Sep 17 00:00:00 2001 From: Philippe Brochard Date: Tue, 21 Aug 2012 10:02:47 +0200 Subject: [PATCH] contrib/toolbar.lisp (toggle-toolbar-hide-state): New function. --- ChangeLog | 4 ++++ contrib/toolbar.lisp | 35 +++++++++++++++++++---------------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6191eb2..0710bbf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-08-21 Philippe Brochard + + * contrib/toolbar.lisp (toggle-toolbar-hide-state): New function. + 2012-08-20 Philippe Brochard * src/clfswm-internal.lisp (add-in-never-managed-window-list): New diff --git a/contrib/toolbar.lisp b/contrib/toolbar.lisp index f6441fe..8000e86 100644 --- a/contrib/toolbar.lisp +++ b/contrib/toolbar.lisp @@ -241,24 +241,27 @@ (toolbar-exposure-hook toolbar))) +(defun toggle-toolbar-hide-state (toolbar) + (let* ((tb-win (toolbar-window toolbar))) + (if (toolbar-hide-state toolbar) + (progn + (setf (toolbar-hide-state toolbar) nil) + (map-window tb-win) + (raise-window tb-win) + (refresh-toolbar toolbar)) + (progn + (hide-window tb-win) + (setf (toolbar-hide-state toolbar) t))))) + (defun toolbar-add-hide-button-press-hook (toolbar) (push (define-event-hook :button-press (code root-x root-y) - (when (and (is-valid-toolbar toolbar) (= code 1)) - (let* ((tb-win (toolbar-window toolbar))) - (when (toolbar-in-sensibility-zone-p toolbar root-x root-y) - (if (toolbar-hide-state toolbar) - (progn - (setf (toolbar-hide-state toolbar) nil) - (map-window tb-win) - (raise-window tb-win) - (refresh-toolbar toolbar)) - (progn - (hide-window tb-win) - (setf (toolbar-hide-state toolbar) t))) - (wait-mouse-button-release) - (stop-button-event) - (exit-handle-event))))) - (toolbar-button-press-hook toolbar))) + (when (and (is-valid-toolbar toolbar) (= code 1) + (toolbar-in-sensibility-zone-p toolbar root-x root-y)) + (toggle-toolbar-hide-state toolbar) + (wait-mouse-button-release) + (stop-button-event) + (exit-handle-event))) + (toolbar-button-press-hook toolbar))) (defun toolbar-add-hide-motion-hook (toolbar) (push (define-event-hook :motion-notify (root-x root-y) -- 2.11.4.GIT