guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: installer: Make menu items only activate on double-click.


From: Danny Milosavljevic
Subject: 01/01: installer: Make menu items only activate on double-click.
Date: Fri, 7 Jul 2017 11:19:07 -0400 (EDT)

dannym pushed a commit to branch wip-installer-2
in repository guix.

commit a53915b4986e8c050afab4eb40823900cd268e4a
Author: Danny Milosavljevic <address@hidden>
Date:   Fri Jul 7 17:16:37 2017 +0200

    installer: Make menu items only activate on double-click.
    
    * gurses/menu.scm (std-menu-mouse-handler): Handle double-clicks.
    * gnu/system/installer/guixsd-installer.scm (guixsd-installer): Set up mouse
    event mask for double-clicks.
---
 gnu/system/installer/guixsd-installer.scm | 3 ++-
 gurses/menu.scm                           | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/system/installer/guixsd-installer.scm 
b/gnu/system/installer/guixsd-installer.scm
index 9c80f53..2ec54d0 100644
--- a/gnu/system/installer/guixsd-installer.scm
+++ b/gnu/system/installer/guixsd-installer.scm
@@ -308,7 +308,8 @@
       (timeout! stdscr 500) ; 500 ms
 
       ;; Set up mouse
-      (mousemask (logior BUTTON1_CLICKED BUTTON1_PRESSED BUTTON1_RELEASED))
+      (mousemask (logior BUTTON1_CLICKED BUTTON1_PRESSED BUTTON1_RELEASED
+                         BUTTON1_DOUBLE_CLICKED))
 
       (cbreak!)                                ; Line buffering disabled
       (keypad! stdscr #t)                      ; Check for function keys
diff --git a/gurses/menu.scm b/gurses/menu.scm
index 912829a..646ce07 100644
--- a/gurses/menu.scm
+++ b/gurses/menu.scm
@@ -190,7 +190,7 @@ active."
       #f))
 
 (define (std-menu-mouse-handler menu device-id g-x g-y z button-state)
-  (if (logtest BUTTON1_CLICKED button-state)
+  (if (logtest (logior BUTTON1_CLICKED BUTTON1_DOUBLE_CLICKED) button-state)
       (let* ((win (menu-window menu))
              (top-item-index (menu-top-item menu))
              (item-count (length (menu-items menu))))
@@ -202,6 +202,8 @@ active."
                 (begin
                   (menu-set-current-item! menu selected-item-index)
                   (menu-redraw menu)
-                  (list 'menu-item-activated (menu-get-current-item menu))))))
+                  (if (logtest BUTTON1_DOUBLE_CLICKED button-state)
+                    (list 'menu-item-activated (menu-get-current-item menu))
+                    #f)))))
          (_ #f)))
       #f))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]