diff --git a/collects/drscheme/private/main.ss b/collects/drscheme/private/main.ss index 48fedc6e4c..9a92dbdefa 100644 --- a/collects/drscheme/private/main.ss +++ b/collects/drscheme/private/main.ss @@ -57,6 +57,7 @@ (finder:default-filters))) (application:current-app-name (string-constant drscheme)) + (preferences:set-default 'drscheme:defs/ints-horizontal #f boolean?) (preferences:set-default 'drscheme:unit-window-max? #f boolean?) (preferences:set-default 'drscheme:frame:initial-position #f (λ (x) (or (not x) @@ -215,7 +216,9 @@ (string-constant switch-to-module-language-automatically) editor-panel) - + (make-check-box 'drscheme:defs/ints-horizontal + (string-constant interactions-beside-definitions) + editor-panel) ;; come back to this one. #; (letrec ([hp (new horizontal-panel% diff --git a/collects/drscheme/private/unit.ss b/collects/drscheme/private/unit.ss index ac00f6057c..3ae33d4191 100644 --- a/collects/drscheme/private/unit.ss +++ b/collects/drscheme/private/unit.ss @@ -958,20 +958,23 @@ module browser threading seems wrong. ; ; ;;;;; ; ; ; ;;;; - - (define vertical-dragable/def-int% - (class panel:vertical-dragable% - (init-field unit-frame) - (inherit get-percentages) - (define/augment (after-percentage-change) - (let ([percentages (get-percentages)]) - (when (and (= 1 - (length (send unit-frame get-definitions-canvases)) - (length (send unit-frame get-interactions-canvases))) - (= 2 (length percentages))) - (preferences:set 'drscheme:unit-window-size-percentage (car percentages)))) - (inner (void) after-percentage-change)) - (super-new))) + + (define dragable/def-int-mixin + (mixin (panel:dragable<%>) () + (init-field unit-frame) + (inherit get-percentages) + (define/augment (after-percentage-change) + (let ([percentages (get-percentages)]) + (when (and (= 1 + (length (send unit-frame get-definitions-canvases)) + (length (send unit-frame get-interactions-canvases))) + (= 2 (length percentages))) + (preferences:set 'drscheme:unit-window-size-percentage (car percentages)))) + (inner (void) after-percentage-change)) + (super-new))) + + (define vertical-dragable/def-int% (dragable/def-int-mixin panel:vertical-dragable%)) + (define horizontal-dragable/def-int% (dragable/def-int-mixin panel:horizontal-dragable%)) (define super-frame% (drscheme:frame:mixin @@ -3170,9 +3173,11 @@ module browser threading seems wrong. (let ([sel (send tabs-panel get-selection)]) (when sel (change-to-nth-tab sel))))))) - [define resizable-panel (new vertical-dragable/def-int% - (unit-frame this) - (parent panel-with-tabs))] + [define resizable-panel (new (if (preferences:get 'drscheme:defs/ints-horizontal) + horizontal-dragable/def-int% + vertical-dragable/def-int%) + (unit-frame this) + (parent panel-with-tabs))] [define definitions-canvas #f] (initialize-definitions-canvas) diff --git a/collects/string-constants/english-string-constants.ss b/collects/string-constants/english-string-constants.ss index a5135674c5..7d9fb1058f 100644 --- a/collects/string-constants/english-string-constants.ss +++ b/collects/string-constants/english-string-constants.ss @@ -417,6 +417,7 @@ please adhere to these guidelines: (open-files-in-tabs "Open files in separate tabs (not separate windows)") (show-interactions-on-execute "Automatically open interactions window when running a program") (switch-to-module-language-automatically "Automatically switch to the module language when opening a module") + (interactions-beside-definitions "Put the interactions window beside the definitions window") ;; in preferences, below the checkbox one line above this one (limit-interactions-size "Limit interactions size") (background-color "Background Color") (default-text-color "Default text") ;; used for configuring colors, but doesn't need the word "color"