Dialogues: intelligent size and placement
Posted: Sun Nov 16, 2014 12:37 am
Currently, most if not all of Audacity's dialogues open in a fixed position at a fixed size and, in general, may not be resized by the user. By "dialog" I mean those windows which open (modal or modeless) when the user issues a command from the main Project window. Some examples are: Preferences, Export Multiple, and the various "are you sure" warnings.
Proposal: Allow these dialogues to be resized by the user and make the maximum size a large percentage of the current monitor's resolution; recall the size and location in which the user last left the dialog and, when reopening the dialog, use those values (but never exceed the current monitor's resolution); automatically position and size the dialog larger as needed to accommodate strings which have been localized (maybe ignoring the user's previously stored values if necessary - I'm not sure about this choice, for my clients I do not do this); add scrollbars as necessary whenever the dialog has been sized (either by the user or automatically) too small to display everything. Test to ensure that any dialog's title bar is on some portion of the main screen which is not obscured by the taskbar (or Mac menu bar; thus, it is draggable) and, if off the main screen, offer to reposition it so that it is on the main screen with a "remember this choice" (add these "remember" setting to the preference Warnings panel - I give my clients when setting which controls the very first Project window which opens when Audacity launches and another otherwise global setting for all dialogs).
I have had all this working for a couple years for my clients, most of whom do not run Audacity in English and really appreciate being able to read everything and see all the controls. While this code touches many files is not too extensive. This is not something for which I would be willing to prepare a patch without being fairly sure of Developer support. If anybody wishes to try these features out they may download my highly customized code base - just ask and I will place it in Dropbox.
Proposal: Allow these dialogues to be resized by the user and make the maximum size a large percentage of the current monitor's resolution; recall the size and location in which the user last left the dialog and, when reopening the dialog, use those values (but never exceed the current monitor's resolution); automatically position and size the dialog larger as needed to accommodate strings which have been localized (maybe ignoring the user's previously stored values if necessary - I'm not sure about this choice, for my clients I do not do this); add scrollbars as necessary whenever the dialog has been sized (either by the user or automatically) too small to display everything. Test to ensure that any dialog's title bar is on some portion of the main screen which is not obscured by the taskbar (or Mac menu bar; thus, it is draggable) and, if off the main screen, offer to reposition it so that it is on the main screen with a "remember this choice" (add these "remember" setting to the preference Warnings panel - I give my clients when setting which controls the very first Project window which opens when Audacity launches and another otherwise global setting for all dialogs).
I have had all this working for a couple years for my clients, most of whom do not run Audacity in English and really appreciate being able to read everything and see all the controls. While this code touches many files is not too extensive. This is not something for which I would be willing to prepare a patch without being fairly sure of Developer support. If anybody wishes to try these features out they may download my highly customized code base - just ask and I will place it in Dropbox.