Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2015-09

Lazarus IDE - One Hundred Papercuts

13 messages · 6 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

Hi,

Ubuntu started the "One Hundred Papercuts" project a couple years ago. The Ubuntu "One Hundred Papercuts" definition:

?Papercuts are fast to fix, but annoying bugs.
Our mission is to make Ubuntu shined by reducing them.?

Wikipedia?s definition:
https://en.wikipedia.org/wiki/Paper_cut_bug

I think something like that for Lazarus - especially the IDE - would be super useful too.

Simple but annoying things could be fixed relatively quickly - thus making the IDE a much more enjoyable product.

To give you an example of what I mean:

* Procedure List window - save/restore listview column widths are not implemented.

* BreakPoint list window - select a breakpoint, press DEL, now the focus is somewhere else, so I can't simply press DEL again to delete the next breakpoint.

* Editor - no editor function (single shortcut) to duplicate a line

* Conditional Defines dialog - tab order is wrong

* Conditional Defines dialog - default focused button is wrong

All the above items I have already fixed locally, but there are many more I could mention, and I'm sure you could contribute more too.

Maybe we could start a wiki page to list these "small but annoying" niggles in Lazarus IDE. Alternatively [and probably a better idea] a new section in Mantis could be created to track such ?papercuts? and their fixes (patches).

What?s your thoughts on this.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Mattias Gaertner
to Graeme Geldenhuys
Show quoted text 10 lines
[...] Wikipedia?s definition: https://en.wikipedia.org/wiki/Paper_cut_bug I think something like that for Lazarus - especially the IDE - would be super useful too. Simple but annoying things could be fixed relatively quickly - thus making the IDE a much more enjoyable product.

Feel free to give a list of bug reports, that you think are easy to fix. If you have already a patch - all the better.

Mattias

Reply by email

Martin Frb
to Graeme Geldenhuys: Ubuntu started the "One Hundred Papercuts" project a couple years ago. The Ubuntu "One…
Graeme Geldenhuys wrote
* Procedure List window - save/restore listview column widths are not implemented.

In respect to "fixed locally" (your comment below): How? Does it use the storage that can be edited via the "windows" tab in tools/opitons? (like breakpoints)?

* BreakPoint list window - select a breakpoint, press DEL, now the focus is somewhere else, so I can't simply press DEL again to delete the next breakpoint.

The focus is on the list (at least on win32), but no entry selected, using up/down arrow will select (next to the deleted entry). You mean selection, not focus? You want the next entry selected?

* Editor - no editor function (single shortcut) to duplicate a line

Can be solved via editor macro. But if you have a patch...

Show quoted text 13 lines
* Conditional Defines dialog - tab order is wrong * Conditional Defines dialog - default focused button is wrong All the above items I have already fixed locally, but there are many more I could mention, and I'm sure you could contribute more too. Maybe we could start a wiki page to list these "small but annoying" niggles in Lazarus IDE. Alternatively [and probably a better idea] a new section in Mantis could be created to track such ?papercuts? and their fixes (patches).

Just adding them to mantis (patches subproject), and mention "patch" in the subject.

The issue is not just if the can be fixed in a line or two, but also if that is deemed the correct solution.
Tab-order is easy.
Adding column widths may be easy too, but it should not be a one window only solution. It needs to be apply-able to all similar windows.

There are IMHO 2 (main), maybe 3 reasons why patches are not applied immediately [1].
1) Not noticed => send mail on the list (repeat if needed)
2) works, but not a good design (arguable, but happens)
3) no maintainer

[1] immediately = within a month or two, depending on patch size and maintainer busy or not.

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Tue, 08 Sep 2015 18:17:50 +0100 Feel free to give a list of bug reports, that you…
Mattias Gaertner wrote
Feel free to give a list of bug reports, that you think are easy to fix. If you have already a patch - all the better.

I'll do. Maybe instead of a new dedicated sub-section in Mantis, we can simply add the tag "papercut" to a bug report.

Do anybody actually use (or look) the tag field in a bug report on Mantis?

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Mattias Gaertner
to Graeme Geldenhuys
Show quoted text 8 lines
On 2015-09-08 22:49, Mattias Gaertner wrote: > Feel free to give a list of bug reports, that you think are easy to fix. > If you have already a patch - all the better. I'll do. Maybe instead of a new dedicated sub-section in Mantis, we can simply add the tag "papercut" to a bug report. Do anybody actually use (or look) the tag field in a bug report on Mantis?

Or you can create a parent bug report.

Mattias

Reply by email

Graeme Geldenhuys
to Martin Frb: In respect to "fixed locally" (your comment below): How? Does it use the storage that can…
Martin Frb wrote
In respect to "fixed locally" (your comment below): How? Does it use the storage that can be edited via the "windows" tab in tools/opitons? (like breakpoints)?

That's another problem I have with Lazarus IDE...

In my haste to fix the annoyance (which was really bugging me at the time) I simply used a local TINIFile in the Procedure List dialog, and saved the relevant information to that standard lazarus primary config directory.

The reason I say "another problem with Lazarus IDE".... For somebody that doesn't work daily with the IDE source code, it is hard to find info. eg: what must be used to integrate saving new settings into the existing XML files Lazarus maintains.

The IDE doesn't use form inheritance much - I don't know why, because it is so useful. If it did, it could introduce a base TBaseIDEDialog form which automatically saves and restores window state (width, height, position) and surface functionality which allows saving other info like Grid or ListView column widths etc.

If you can let me know where I could find the information on using the existing XML infrastructure of Lazarus IDE, then I'll modify my patch.

> * BreakPoint list window - select a breakpoint, press DEL... The focus is on the list (at least on win32), but no entry selected, using up/down arrow will select (next to the deleted entry). You mean selection, not focus? You want the next entry selected?

Sorry for the confusion. Yes I meant selection. The window now forces me to press the up or down key first - just so I can do the action I wanted
- deleting some breakpoints after a debug session. I don't see the point it forcing me to press an extra key between every delete action.

Also when the window is opened for the first time, why is the focus set, but no selection. It is such little annoyances that I consider "papercut bugs".

Developers are creatures that like efficiency. ;-) At least that is me.

> * Editor - no editor function (single shortcut) to duplicate a line Can be solved via editor macro. But if you have a patch...

I use a few copies of Lazarus IDE - in various VM's. In two of them I can't find any reference to Macros in the IDE menus or how to record a new macros. Searching the wiki for "macros" brings up the paths and filename macros - not what I wanted.

So I wrote a IDE add-on package which does what I want, and include it in my local "custom-mods" branch.

Is macros support an IDE add-on package that must be installed? It is such a useful feature of any IDE or text editor, so why can't Lazarus IDE come standard with macros support, and put it right there in the main menu, easy to find. See attached screenshot of EditPad Pro - can't get more clear than that!

Just adding them to mantis (patches subproject), and mention "patch" in the subject.

That's find for the ones I have fixed, but what about the other 95 papercut bugs - that don't have patches yet. Could we have a separate sub-section in Mantis to file these easy to fix (1-2 hours max) bugs - or should we simply attach a tag to an existing Mantis report. Again I know tags exist in Mantis, but I don't know how useful they are in real life.

The issue is not just if the can be fixed in a line or two, but also if that is deemed the correct solution.

Obviously, and why it needs to be discuss - hence my preference to file them in Mantis, instead of simply listing them in a Wiki page.

Adding column widths may be easy too, but it should not be a one window only solution. It needs to be apply-able to all similar windows.

See my reply above - Lazarus IDE could make this easier to accomplish - for somebody like me, that doesn't fiddle daily with the IDE source code.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ -------------- next part -------------- A non-text attachment was scrubbed... Name: editpadpro_macros.png Type: image/png Size: 8230 bytes Desc: not available URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150909/c218cdea/attachment-0001.png>

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Wed, 09 Sep 2015 11:06:18 +0100 Or you can create a parent bug report. Mattias
Mattias Gaertner wrote
Or you can create a parent bug report.

Sorry, I not 100% sure what that means?

Do you mean we create a "Papercuts" bug report (eg: Report #5000) - which is just a place holder, then file the real papercut reports as a child of #5000? If so, didn't know we can do that. I know relationships can be set (but not by "reporters").

Regards,
- Graeme -

Reply by email

Mattias Gaertner
to Graeme Geldenhuys
Show quoted text 9 lines
On 2015-09-09 11:36, Mattias Gaertner wrote: > Or you can create a parent bug report. Sorry, I not 100% sure what that means? Do you mean we create a "Papercuts" bug report (eg: Report #5000) - which is just a place holder, then file the real papercut reports as a child of #5000? If so, didn't know we can do that. I know relationships can be set (but not by "reporters").

I thought the reporter can create relationships. Maybe I was wrong. Have you tried?

Mattias

Reply by email

Ondrej Pokorny
to Mattias Gaertner: On Wed, 09 Sep 2015 11:45:56 +0100 I thought the reporter can create relationships. Maybe…
Mattias Gaertner wrote 15 lines
On Wed, 09 Sep 2015 11:45:56 +0100 Graeme Geldenhuys wrote: > On 2015-09-09 11:36, Mattias Gaertner wrote: >> Or you can create a parent bug report. > Sorry, I not 100% sure what that means? > > Do you mean we create a "Papercuts" bug report (eg: Report #5000) - > which is just a place holder, then file the real papercut reports as a > child of #5000? If so, didn't know we can do that. I know relationships > can be set (but not by "reporters"). I thought the reporter can create relationships. Maybe I was wrong. Have you tried? Mattias

Reporters cannot create relationships.
Ondrej

Reply by email

Martin Frb
to Graeme Geldenhuys: That's another problem I have with Lazarus IDE... In my haste to fix the annoyance (which…
Graeme Geldenhuys wrote 10 lines
On 2015-09-08 23:16, Martin Frb wrote: > In respect to "fixed locally" (your comment below): How? > Does it use the storage that can be edited via the "windows" tab in > tools/opitons? (like breakpoints)? That's another problem I have with Lazarus IDE... In my haste to fix the annoyance (which was really bugging me at the time) I simply used a local TINIFile in the Procedure List dialog, and saved the relevant information to that standard lazarus primary config directory.

Then IMHO it is not a papercut (though it may still be easy/moderate to fix, but that depends how deep the new multi desktop changes go.)

Show quoted text 6 lines
- deleting some breakpoints after a debug session. I don't see the point it forcing me to press an extra key between every delete action. Also when the window is opened for the first time, why is the focus set, but no selection. It is such little annoyances that I consider "papercut bugs". Developers are creatures that like efficiency. ;-) At least that is me.

Fixed/Improved

If you have a patch for the "first open" I am happy to apply it. Just not going to search the code now, for where this needs to be done.

Show quoted text 14 lines
> Can be solved via editor macro. But if you have a patch... I use a few copies of Lazarus IDE - in various VM's. In two of them I can't find any reference to Macros in the IDE menus or how to record a new macros. Searching the wiki for "macros" brings up the paths and filename macros - not what I wanted. So I wrote a IDE add-on package which does what I want, and include it in my local "custom-mods" branch. Is macros support an IDE add-on package that must be installed? It is such a useful feature of any IDE or text editor, so why can't Lazarus IDE come standard with macros support, and put it right there in the main menu, easy to find. See attached screenshot of EditPad Pro - can't get more clear than that!

http://wiki.lazarus.freepascal.org/IDE_Window:_Editor_Macros

It should be installed by default. But maybe, if you did "svn up" from an older version, then it was not installed.

Show quoted text 8 lines
> Just adding them to mantis (patches subproject), and mention "patch" in > the subject. That's find for the ones I have fixed, but what about the other 95 papercut bugs - that don't have patches yet. Could we have a separate sub-section in Mantis to file these easy to fix (1-2 hours max) bugs - or should we simply attach a tag to an existing Mantis report. Again I know tags exist in Mantis, but I don't know how useful they are in real life.

I have no preference.

Personally, I hardly use tags, but neither do I look at which subproject a bug is in. I mainly look at the subject. (and the content, if needed)

> The issue is not just if the can be fixed in a line or two, but also if > that is deemed the correct solution. Obviously, and why it needs to be discuss - hence my preference to file them in Mantis, instead of simply listing them in a Wiki page.

When it is bugs, always mantis. When it is improvements, then Mantis or mail list (depends on how likely others see the need for such an improvement and the ability to do it quick)

Reply by email

Michael Van Canneyt
to Graeme Geldenhuys
Graeme Geldenhuys wrote 5 lines
On 2015-09-09 12:10, Mattias Gaertner wrote: > I thought the reporter can create relationships. Maybe I was wrong. > Have you tried? Yes I tried before, and it is not currently possible for "reporters".

As far as I can see, this permission cannot be set independently from other permissions.

Michael.

Reply by email