View Issue Details

IDProjectCategoryView StatusLast Update
0014356LazarusIDEpublic2013-09-03 12:07
ReporterElphiAssigned ToMartin Friebe 
Status closedResolutionfixed 
Product Version0.9.27 (SVN)Product Build 
Target Version0.9.30Fixed in Version0.9.29 (SVN) 
Summary0014356: Selectable predefined (mouse) configuration settings.
DescriptionMy reports 14302 and 14329 addressed problems with mouse configuration settings. With the current design, the number of different settings possible are tremendous. I, but I think even an advanced user of the IDE also, can easily get completely stuck in what I experience as a labyrinth.
Martin Friebe was very helpful in giving me mouse settings in a xml file which exactly met my needs (and overcome some problems put forward). It looked like these settings represented a behavior similar to the Delphi 2007 IDE.

In order to make the current functionality more practically usable I suggest to:

A. Create predefined configuration settings:
1. Lazarus default settings;
2. Delphi settings;
3. Eclipse settings;
4. ...... (any other widely used IDE)
5. Custom settings (invoking the existing advanced mouse configuration settings, optionally using selectable predefined settings as starting point)

B. Create a Lazarus installation directory in which the xml files reside.

Of course fine tuning mouse behavior is greatly simplified, but perhaps the biggest advantage is that new and existing users already using other IDE's can easily set behavior they are already familiar with.

TagsNo tags attached.
Fixed in Revision25818
Attached Files


Martin Friebe

2009-08-15 22:37

manager   ~0029885

please check revision 21235

Martin Friebe

2009-08-15 22:57

manager   ~0029886

Last edited: 2009-08-15 22:57

if someone wants to make special configurations, maybe they can be offered for download from the help pages on the wiki (after all there is an import feature)


2009-08-16 11:11

reporter   ~0029903

Indeed users could contribute their settings. But it is still important that the number of selectable configurations is limited. Otherwise you also can't see the trees from the bush.

You can make the design even more easily and powerful by increasing the level of aggregation by just presenting a non-editable combobox holding the names of accepted predefined file names (Lazarus standard; Delphi; Eclipse; ..) read from a standard directory. Besides the box a button 'Advanced fine tuning' is placed. Pressing the button opens advanced settings based on the settings selected in the combobox. Fine tuning those settings and saving them in the standard directory includes the new file name in the items of the combobox.

To me, even the simplified options presented are somewhat difficult to assess. I am familiar with Delphi 7 behavior, but I've never really thought about the specific settings that make this behavior. In general, most developers think in a high level of aggregation: Delphi-behavior, Eclipse-behavior, etc. without bothering about specifics.

Martin Friebe

2009-08-16 13:55

manager   ~0029905

I am only half convinced, but yes it would be possible.

However: Even Delphi (and I guess most other IDEs too) have a couple (usually only 1 or 2) options to their mouse settings.

Delphi has "double click selects line"
If I provide a "Delphi mode" it will not suite half of the people, because they switched that setting. Yes they can still switch it, but then they have to look at the whole set of checkboxes (on the simplified page) anyway (since loading defaults will not reduce the amount of options)

Anyway such a feature was better done for the whole *editor* options, including colors, mouse, key-short-cuts, folding (as close as it can get to it)
But for that the editor options internal implementation have still a good way to go. (IIRC someone started work on user defined color pre-sets a good while ago....)

Anyway, *IF* I find time, I may work on it (either mouse only, or all together), but even then I don't know the pre-sets of all the other IDE's. So I would need a volunteer to supply (and maintain) them for a reasonable amount of other IDEs.
(Don't yet supply them, I don't yet know when I will do anything about it)
Also they need a format with more content than the current export/import => so they can set the simplified checkboxes.


2009-08-16 15:35

reporter   ~0029908

Having an option to emulate IDE-editor settings one is already familiar with, would be a very strong feature for an IDE with a small user base as Lazarus, especially when given during installation. No doubt about that!
Implementing it for mouse settings first seems reasonable, because its current design is rather complex, and because most work is done already.

Likely most IDEs have optional mouse settings, but all have defaults out-of-the-box.
The need to extend current options to accomodate idiosyncratics of other IDEs can be deferred to the far future; emulations don't need to be 100% immediately.

Certainly, when the basic implementation is ready contributions from the community can be expected; the teams task is merely to provide a rigid admittance procedure.

Do you still expect feedback regarding the rev. 21235 simplified checkboxes? I think you don't need them when you have selectable pre-sets.

Martin Friebe

2009-08-16 16:43

manager   ~0029910

No added feedback required. The feedback was, if you feel they solved the need
for pre-sets. => feedback received.

Yes pre-selectable options (for the whole) are a good think. Yes it has to start somewhere.

That's why I removed the feedback status. It is an accepted feature-request (not a bug). It will be done, if anyone has the time and interest, or if patches are received.

Martin Friebe

2010-06-01 21:27

manager   ~0038222

Use export from the advanced options.
Copy the exported file into /<your_laz_config_dir>/userschemes/
It will be detected when the IDE starts up (restart IDE), and a drop-down will be shown (on the none-advanced page).

User defined schemes can not be edited via the none-advanced mouse page.

Changes made on the advanced site are always saved complete, including the pre-sets, so if users make changes there, then later changes to the imported scheme xml are ignored.

Note the export format has been changed. Old exported files can only be read via the advanced page, and must then be exported again before copied to the userscheme folder.


2010-06-13 14:41

reporter   ~0038540

(Using rev 23939)
What do you mean by /<your_laz_config_dir>/? Can't find /userschemes/ either.

Martin Friebe

2010-06-14 14:54

manager   ~0038557

Last edited: 2010-06-14 14:55


the folder that contains your enviromentoptions.xml, aqnd the other config data.

It depends on your OS.

/home/user/.lazarus (IIRC)
c:\users\appdata\local\lazarus or similar

or as specified by --primary-config-path="" option

the folder userschemes needs to be created inside this config dir.
It is currently used for color and mouse schemes.

Martin Friebe

2010-06-16 14:13

manager   ~0038584

Does the above info solve the issue?

Martin Friebe

2010-07-05 15:11

manager   ~0039035

no further feedback received

Issue History

Date Modified Username Field Change
2009-08-15 21:03 Elphi New Issue
2009-08-15 22:36 Martin Friebe Status new => assigned
2009-08-15 22:36 Martin Friebe Assigned To => Martin Friebe
2009-08-15 22:37 Martin Friebe LazTarget => -
2009-08-15 22:37 Martin Friebe Note Added: 0029885
2009-08-15 22:37 Martin Friebe Status assigned => feedback
2009-08-15 22:57 Martin Friebe Note Added: 0029886
2009-08-15 22:57 Martin Friebe Note Edited: 0029886
2009-08-16 11:11 Elphi Note Added: 0029903
2009-08-16 13:55 Martin Friebe Note Added: 0029905
2009-08-16 13:55 Martin Friebe LazTarget - => post 1.2
2009-08-16 13:55 Martin Friebe Status feedback => assigned
2009-08-16 15:35 Elphi Note Added: 0029908
2009-08-16 16:43 Martin Friebe Note Added: 0029910
2010-06-01 21:27 Martin Friebe Fixed in Revision => 25818
2010-06-01 21:27 Martin Friebe Status assigned => resolved
2010-06-01 21:27 Martin Friebe Fixed in Version => 0.9.29 (SVN)
2010-06-01 21:27 Martin Friebe Resolution open => fixed
2010-06-01 21:27 Martin Friebe Note Added: 0038222
2010-06-01 21:27 Martin Friebe Target Version => 0.9.30
2010-06-13 14:41 Elphi Status resolved => assigned
2010-06-13 14:41 Elphi Resolution fixed => reopened
2010-06-13 14:41 Elphi Note Added: 0038540
2010-06-14 14:54 Martin Friebe Note Added: 0038557
2010-06-14 14:55 Martin Friebe Note Edited: 0038557
2010-06-16 14:13 Martin Friebe Note Added: 0038584
2010-06-16 14:13 Martin Friebe Status assigned => feedback
2010-07-05 15:11 Martin Friebe Status feedback => resolved
2010-07-05 15:11 Martin Friebe Resolution reopened => fixed
2010-07-05 15:11 Martin Friebe Note Added: 0039035
2011-12-01 11:24 Marc Weustink Status resolved => closed
2013-09-03 12:07 Martin Friebe LazTarget post 1.2 => 1.4