From 3c68e2494745a1c120f0c34c1d4408209597dd1d Mon Sep 17 00:00:00 2001 From: Ryan Culpepper Date: Tue, 7 Jan 2014 12:03:58 -0500 Subject: [PATCH] keybinding menu items Fix shortcuts for Prev/Next Tab when GRacket:defaultMenuPrefix is 'alt or 'meta. Patch by Robby. --- .../drracket/drracket/private/main.rkt | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/pkgs/drracket-pkgs/drracket/drracket/private/main.rkt b/pkgs/drracket-pkgs/drracket/drracket/private/main.rkt index 7e440f0d74..e82ac244f0 100644 --- a/pkgs/drracket-pkgs/drracket/drracket/private/main.rkt +++ b/pkgs/drracket-pkgs/drracket/drracket/private/main.rkt @@ -754,20 +754,24 @@ (when frame (send frame next-tab))))]) - (define mprefix (case (system-type) - [(windows) - (list* 'alt 'shift (get-default-shortcut-prefix))] - [(unix) - (remove-duplicates (list* 'alt 'shift (get-default-shortcut-prefix)))] - [(macosx) - (list* 'option (get-default-shortcut-prefix))])) + (define-values (mprefix shortcut?) + (case (system-type) + [(windows) + (values (list* 'alt 'shift (get-default-shortcut-prefix)) #t)] + [(unix) + (if (or (member 'alt (get-default-shortcut-prefix)) + (member 'meta (get-default-shortcut-prefix))) + (values (get-default-shortcut-prefix) #f) + (values (remove-duplicates (list* 'alt 'shift (get-default-shortcut-prefix))) #t))] + [(macosx) + (values (list* 'option (get-default-shortcut-prefix)) #t)])) (new menu-item% [parent windows-menu] [label (string-constant move-current-tab-right)] [demand-callback dc] - [shortcut-prefix mprefix] - [shortcut #\]] + [shortcut-prefix mprefix] + [shortcut (and shortcut? #\])] [callback (λ (item _) (let ([frame (find-frame item)]) (when frame @@ -777,8 +781,8 @@ [parent windows-menu] [label (string-constant move-current-tab-left)] [demand-callback dc] - [shortcut-prefix mprefix] - [shortcut #\[] + [shortcut-prefix mprefix] + [shortcut (and shortcut? #\[)] [callback (λ (item _) (let ([frame (find-frame item)]) (when frame