Sign in Join

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

Mailing lists / lazarus / 2015-04

"Copy selected messages to clipboard" bug

32 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

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

Graeme Geldenhuys

Hi,

In the Messages window there is a popup menu "Copy selected messages to clipboard". Well, I can't multi-select anything in the Messages window. I can only ever select one line, so what is the point of that popup menu item? I tried Ctrl+Click, I tried Shift+Click - nothing.

I remember using that popup menu back in Lazarus 1.3 days before the Messages window was reworked, but now it seems impossible.

I'm using Lazarus 1.5 r48769 FPC 2.6.4 x86_64-linux-gtk 2

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 11 lines
Hi, In the Messages window there is a popup menu "Copy selected messages to clipboard". Well, I can't multi-select anything in the Messages window. I can only ever select one line, so what is the point of that popup menu item? I tried Ctrl+Click, I tried Shift+Click - nothing. I remember using that popup menu back in Lazarus 1.3 days before the Messages window was reworked, but now it seems impossible. I'm using Lazarus 1.5 r48769 FPC 2.6.4 x86_64-linux-gtk 2

Multi selection is on my todo list.

Mattias

Reply by email

Graeme Geldenhuys
to Bart
Bart wrote
Now messages are shown in "groups" e.g. "compileng lazutils" and this turns into a single green line if it went OK.

Yeah, the new "groups" idea in the Messages window drives me nuts. I don't like it at all, and to me personally makes the Messages window a lot less useful. For a long time I've reverted back to Lazarus 1.3, to the commit just before those groups feature was activating. But then I started missing other newer Lazarus features. So last week I moved back to 1.5.

Mattias, is there a way to switch back to the old Messages window? Even if I have to do it as a local mod in my own copy of Lazarus? I already have so many local mods anyway. Any pointers to which commit(s) I could revert would be appreciated.

From my investigations r45396 enabled the new Messages window "group"

feature, and a whole bunch of other stuff. Something to do with a define EnableNewExtTools. Because r45396 affected so much, I couldn't seem to just revert that specific commit.

However, frequently I see messages I want to inspect (click on them to go to the source), but this seems impossible now?

I don't see a lot of information I'm interested in any more. And while compiling the Green and Yellow bars seems almost like they are jumping up and down, so I can't track the compiler progress at all by just looking at it. :-/

Regards,
- Graeme -

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

Reply by email

Martin Frb
to Mattias Gaertner
Mattias Gaertner wrote 8 lines
On Mon, 20 Apr 2015 15:19:55 +0200 Bart wrote: > [...] > However, frequently I see messages I want to inspect (click on them to > go to the source), but this seems impossible now? That would be a bug. How to reproduce?

I had the same or very similar once. But wasnt able to reproduce. I believe it depends on the msg win height. But just a guess.

What I know is, that the icons in the editor were present, and that when clicking on the icon the msg win unfolded the wrongly hidden entries.

Reply by email

Mattias Gaertner
to Graeme Geldenhuys: Yeah, the new "groups" idea in the Messages window drives me nuts. I don't like it at…
Show quoted text 5 lines
[...] Mattias, is there a way to switch back to the old Messages window? Even if I have to do it as a local mod in my own copy of Lazarus? I already have so many local mods anyway. Any pointers to which commit(s) I could revert would be appreciated.

The whole part of the IDE about external tools and the Messages window were rewritten to support multithreading, real time sync with source editor, filtering, searching, millions of lines of output, etc. The old Messages window is gone.

Show quoted text 8 lines
[...] > However, frequently I see messages I want to inspect (click on them to > go to the source), but this seems impossible now? I don't see a lot of information I'm interested in any more. And while compiling the Green and Yellow bars seems almost like they are jumping up and down, so I can't track the compiler progress at all by just looking at it. :-/

When new messages arrive the others scroll up. Nothing new. While compiling the last line of output is shown, no matter what the filtering is. This line shows, where the compiler is currently working. Thus this line is the "progress line". When the tool completed the progress line vanishes. Again, nothing new. Formerly lines were only appended at the bottom. Since the IDE now runs multiple compilers in parallel, lines are inserted at various places. When a compiler has finished the Messages scrolls to the next still running compiler. This can lead to jumping up/down. If you find this confusing you can disable parallel compilation or close your eyes. Formerly a line "Project compiled successfully" was added. This information is now in the header.
That means formerly the progress line vanishes and the Success line was added, so no scrolling.
Now the progress line vanishes, which leads to a scroll down. Maybe showing the progress line can be made optional. Then you would see less scrolling.

Mattias

Reply by email

Mattias Gaertner
to Martin Frb: I had the same or very similar once. But wasnt able to reproduce. I believe it depends on…
Show quoted text 15 lines
On 20/04/2015 15:02, Mattias Gaertner wrote: > On Mon, 20 Apr 2015 15:19:55 +0200 > Bart wrote: > >> [...] >> However, frequently I see messages I want to inspect (click on them to >> go to the source), but this seems impossible now? > That would be a bug. How to reproduce? > I had the same or very similar once. But wasnt able to reproduce. I believe it depends on the msg win height. But just a guess. What I know is, that the icons in the editor were present, and that when clicking on the icon the msg win unfolded the wrongly hidden entries.

Do you mean the gutter icons?

Maybe the issue appears only with code folding? I use that seldom.

Mattias

Reply by email

Martin Frb
to Mattias Gaertner: On Mon, 20 Apr 2015 15:06:35 +0100 Do you mean the gutter icons? Maybe the issue appears…
Mattias Gaertner wrote 14 lines
On Mon, 20 Apr 2015 15:06:35 +0100 Martin Frb wrote: > > I had the same or very similar once. But wasnt able to reproduce. I > believe it depends on the msg win height. But just a guess. > > What I know is, that the icons in the editor were present, and that when > clicking on the icon the msg win unfolded the wrongly hidden entries. Do you mean the gutter icons? Maybe the issue appears only with code folding? I use that seldom.

No folding involved. Yes the gutter icon.

The icon was present. I did not know you could click it. SO I searched the messages, and there were only this 2 info lines for the package.

When I clicked the icon lots of messages (not just the one, but all messages that according to my filter settings should have been there in first.

Reply by email

Mattias Gaertner
to Martin Frb: +1 I'd like that too. I dont mind the scrolling, but I always fail to spot the header…
Show quoted text 7 lines
On 20/04/2015 15:26, Mattias Gaertner wrote: > Maybe showing the progress line can be made optional. +1 I'd like that too. I dont mind the scrolling, but I always fail to spot the header change, and don't know compile has finished.

When the progress line is not showing, then *only* the header is left to show the finish.
Maybe you mean +1 to show a finish line?

Mattias

Reply by email

Martin Frb
to Mattias Gaertner
Mattias Gaertner wrote 14 lines
On Mon, 20 Apr 2015 15:30:17 +0100 Martin Frb wrote: > On 20/04/2015 15:26, Mattias Gaertner wrote: >> Maybe showing the progress line can be made optional. > +1 > > I'd like that too. I dont mind the scrolling, but I always fail to spot > the header change, and don't know compile has finished. When the progress line is not showing, then *only* the header is left to show the finish. Maybe you mean +1 to show a finish line?

Yes +1 to a finish line. For me there are also the 2 "Hint" lines, so the header is not at the bottom, and the top part of the window often is overlapped by other windows.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150420/44e09b70/attachment.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: hbccjhjb.png
Type: image/png
Size: 9984 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150420/44e09b70/attachment.png>

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Mon, 20 Apr 2015 15:30:17 +0100 When the progress line is not showing, then *only* the…
Mattias Gaertner wrote
When the progress line is not showing, then *only* the header is left to show the finish. Maybe you mean +1 to show a finish line?

Just my 2c...

Now this is where I see a huge problem. I thought I was alone in finding the new Messages window confusing, but clearly there are many others too. If you have to explain to so many seasoned developers how the Messages window works (something that should be obvious), then there is an obvious flaw in the user interface design. A better design (what the developers sees in the IDE - not internal code) is clearly needed.

I understand you wanted to improve the IDE by implementing a long sought after feature, multi-threaded compiling, but maybe more thought needs to be given to how to present the compiler output.

Regards,
- Graeme -

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

Reply by email

Graeme Geldenhuys
to Martin Frb: Yes +1 to a finish line. For me there are also the 2 "Hint" lines, so the header is not…
Martin Frb wrote
Yes +1 to a finish line. For me there are also the 2 "Hint" lines, so the header is not at the bottom, and the top part of the window often is overlapped by other windows.

+1

I also can't see $NOTE or $WARNING etc code comments in the messages output. Yes they have the tiny little icon, but I found the Red, Green etc text from the old Messages window *much* easier to spot.

I use these user-defined compiler messages a lot during my coding sessions.

Regards,
- Graeme -

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

Reply by email

Martin Frb
to Graeme Geldenhuys: Just my 2c... Now this is where I see a huge problem. I thought I was alone in finding…
Graeme Geldenhuys wrote 13 lines
On 2015-04-20 15:34, Mattias Gaertner wrote: > When the progress line is not showing, then *only* the header is left > to show the finish. > Maybe you mean +1 to show a finish line? Just my 2c... Now this is where I see a huge problem. I thought I was alone in finding the new Messages window confusing, but clearly there are many others too. If you have to explain to so many seasoned developers how the Messages window works (something that should be obvious), then there is an obvious flaw in the user interface design. A better design (what the developers sees in the IDE - not internal code) is clearly needed.

Just to clarify: I perfectly understand how it works. I even find the headers an improvement (but I understand they can irritate others). I just like the finish message at the bottom, not at the top of the window. And that is because the top of the window may be hidden by others.

Reply by email

Martin Frb
to Graeme Geldenhuys: +1 I also can't see $NOTE or $WARNING etc code comments in the messages output. Yes they…
Graeme Geldenhuys wrote 12 lines
On 2015-04-20 15:40, Martin Frb wrote: > Yes +1 to a finish line. For me there are also the 2 "Hint" lines, so > the header is not at the bottom, and the top part of the window often is > overlapped by other windows. +1 I also can't see $NOTE or $WARNING etc code comments in the messages output. Yes they have the tiny little icon, but I found the Red, Green etc text from the old Messages window *much* easier to spot. I use these user-defined compiler messages a lot during my coding sessions.

+1 to configurable font (foreground) color for messages. (and font style (bold))

Maybe predefined
- {$NOTE
-note
-{$warning
-warning
-hint
-error (I really like them to stand out)
-....

and/or user defined messages matching regex.

Reply by email

Martin Frb
to Mattias Gaertner: On Mon, 20 Apr 2015 14:34:06 +0100 The whole part of the IDE about external tools and the…
Mattias Gaertner wrote 8 lines
Formerly lines were only appended at the bottom. Since the IDE now runs multiple compilers in parallel, lines are inserted at various places. When a compiler has finished the Messages scrolls to the next still running compiler. This can lead to jumping up/down. If you find this confusing you can disable parallel compilation or close your eyes. Formerly a line "Project compiled successfully" was added. This information is now in the header.

Maybe to avoid jumpnig, the section for each thread (while active) can be fixed height?

That is with 2 threads the window is split into 2 equal height sections (adjusted on resize), showing the progress for each thread.

They keep their size, even if the window is scrolled.

Reply by email

Martin Frb
to Martin Frb
Martin Frb wrote 17 lines
On 20/04/2015 15:26, Mattias Gaertner wrote: > Formerly lines were only appended at the bottom. Since the IDE now runs > multiple compilers in parallel, lines are inserted at various places. > When a compiler has finished the Messages scrolls to the next still > running compiler. This can lead to jumping up/down. If you find this > confusing you can disable parallel compilation or close your eyes. > Formerly a line "Project compiled successfully" was added. This > information is now in the header. > Maybe to avoid jumpnig, the section for each thread (while active) can be fixed height? That is with 2 threads the window is split into 2 equal height sections (adjusted on resize), showing the progress for each thread. They keep their size, even if the window is scrolled.

Just to add to this.

1) The active threads, have each the same size
- minimum header + 1 line (maybe configurable),
- optional max height / if the window shows more, it can show the normal scrolling
if it is does not fit into the window then some of it is not shown / can be seen scrolling (scrolling works well because they do not change size

2) a package in an active thread has 2 headers
a- the limited height from (1)
b- the full size, all unfiltered msgs (that is what is scrolled out)

a belongs to the thread, and changes from one package to another b belongs to a package

3) If during compilation a code tool error happens (user does editor actions), it can be shown below the threads, and will not scroll away. Makes sense, as it is a response to a user actions that was triggered after the start of compilation.

4) Option: the header can be folded to just a vertical line. for people who do not want it.
The window then simply is divided into un-named sections.

Reply by email

Mattias Gaertner
to Graeme Geldenhuys: +1 I also can't see $NOTE or $WARNING etc code comments in the messages output. Yes they…
[...] I also can't see $NOTE or $WARNING etc code comments in the messages output. I use these user-defined compiler messages a lot during my coding sessions.

For the IDE there is no difference between a user $Note and a standard note. Both are shown the same.
For example {$Note foobar} is shown as
"unit1.pas(13,4) Note: User defined: foobar"
It has an icon in the source editor, it is wavely underlined and has a mark in the right source editor bar.

About:

Yes they have the tiny little icon, but I found the Red, Green etc text from the old Messages window *much* easier to spot.

It was a FAQ how to turn this off.
The Hint/Note/Warn is just a general probability that it creates a bug. You have to check all messages anyway.
Internally each type has its own text color, but all 13 are set to default. I don't want to add a GUI for only two people.

Mattias

Reply by email

Martin Frb
to Mattias Gaertner
Mattias Gaertner wrote 7 lines
It was a FAQ how to turn this off. The Hint/Note/Warn is just a general probability that it creates a bug. You have to check all messages anyway. Internally each type has its own text color, but all 13 are set to default. I don't want to add a GUI for only two people.

Can you point me to were they are set? (reachable from the options code)

I might find some time.

Asternatively we can try and find more people ;)

Reply by email

Mattias Gaertner
to Martin Frb: +1 to configurable font (foreground) color for messages. (and font style (bold)) Maybe…
Show quoted text 12 lines
[...] +1 to configurable font (foreground) color for messages. (and font style (bold)) Maybe predefined - {$NOTE -note -{$warning -warning -hint -error (I really like them to stand out) -....

Is this list in any order?
A Hint is less than a Note.
What's the difference between "-note" and "- {$NOTE" (beside the obvious)?

and/or user defined messages matching regex.

Mattias

Reply by email

Mattias Gaertner
to Graeme Geldenhuys: Just my 2c... Now this is where I see a huge problem. I thought I was alone in finding…
Show quoted text 10 lines
On 2015-04-20 15:34, Mattias Gaertner wrote: > When the progress line is not showing, then *only* the header is left > to show the finish. > Maybe you mean +1 to show a finish line? Just my 2c... Now this is where I see a huge problem. I thought I was alone in finding the new Messages window confusing, but clearly there are many others too.

That's a strange definition of "many others", but it explains why I often misunderstand your mails. ;)

If you have to explain to so many seasoned developers how the Messages window works (something that should be obvious), then there is an obvious flaw in the user interface design. A better design (what the developers sees in the IDE - not internal code) is clearly needed.

The way you described the problem sounded like a potential bug. That's why I described how it is supposed to work.

I understand you wanted to improve the IDE by implementing a long sought after feature, multi-threaded compiling, but maybe more thought needs to be given to how to present the compiler output.

I'm aware that we need options to please the various tastes of developers (including "so many seasoned developers", "many others" and Graeme).

Mattias

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Mon, 20 Apr 2015 15:48:43 +0100 For the IDE there is no difference between a user…
Mattias Gaertner wrote
For the IDE there is no difference between a user $Note and a standard note. Both are shown the same.

I know that, but for the developer it is useful to see the user defined ones. At least for me it is, because there is a reason I created those user defined messages.

No worries, I'll just mod my one copy of Lazarus to paint them in different colors, just like I originally did for Lazarus years ago.

Regards,
- Graeme -

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

Reply by email

Mattias Gaertner
to Martin Frb: Maybe to avoid jumpnig, the section for each thread (while active) can be fixed height?…
Show quoted text 8 lines
[...] Maybe to avoid jumpnig, the section for each thread (while active) can be fixed height? That is with 2 threads the window is split into 2 equal height sections (adjusted on resize), showing the progress for each thread. They keep their size, even if the window is scrolled.

The number of threads changes during compilation. It can grow to 8 or more. With tiny windows for each thread, you can not read / use the messages.

Mattias

Reply by email

Graeme Geldenhuys
to Mattias Gaertner: On Mon, 20 Apr 2015 15:45:02 +0100 That's a strange definition of "many others", but it…
Mattias Gaertner wrote
The way you described the problem sounded like a potential bug. That's why I described how it is supposed to work.

I appreciate the explanation of how it works. I've also added it to the wiki.

I didn't appreciate the sarcasm though.

Regards,
- Graeme -

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

Reply by email

Mattias Gaertner
to Martin Frb: Can you point me to were they are set? (reachable from the options code) I might find …
Show quoted text 13 lines
On 20/04/2015 16:14, Mattias Gaertner wrote: > It was a FAQ how to turn this off. > The Hint/Note/Warn is just a general probability that it creates a bug. > You have to check all messages anyway. > Internally each type has its own text color, but all 13 are set to > default. I don't want to add a GUI for only two people. > > Can you point me to were they are set? (reachable from the options code) I might find some time. Asternatively we can try and find more people ;)

ide/etmessageframe.pas
TMsgCtrlUrgencyStyle.Color

You might want to change the logic in
procedure TMessagesCtrl.Paint
Search for "// message text".

Mattias

Reply by email

Mattias Gaertner
to Graeme Geldenhuys: I know that, but for the developer it is useful to see the user defined ones. At least…
Show quoted text 10 lines
On 2015-04-20 16:14, Mattias Gaertner wrote: > For the IDE there is no difference between a user $Note and a standard > note. Both are shown the same. I know that, but for the developer it is useful to see the user defined ones. At least for me it is, because there is a reason I created those user defined messages. No worries, I'll just mod my one copy of Lazarus to paint them in different colors, just like I originally did for Lazarus years ago.

Implementation hint:
User defined $notes are

if (Line.SubTool=SubToolFPC) and (Line.MsgID=2025) then
  ...

The msg id only works if the -vq is passed. For example compiling via "make" might not pass it through.

Mattias

Reply by email

Martin Frb
to Mattias Gaertner: On Mon, 20 Apr 2015 15:54:55 +0100 Is this list in any order? A Hint is less than a Note.…
Mattias Gaertner wrote 19 lines
On Mon, 20 Apr 2015 15:54:55 +0100 Martin Frb wrote: > [...] > +1 to configurable font (foreground) color for messages. (and font style > (bold)) > > Maybe predefined > - {$NOTE > -note > -{$warning > -warning > -hint > -error (I really like them to stand out) > -.... Is this list in any order? A Hint is less than a Note. What's the difference between "-note" and "- {$NOTE" (beside the obvious)?

NO not in any order, and not complete either

just the obvious. I dont care for note vs {$note. I just added it as Graeme mentioned it.

Reply by email

Martin Frb
to Mattias Gaertner: On Mon, 20 Apr 2015 15:59:11 +0100 The number of threads changes during compilation. It…
Mattias Gaertner wrote 15 lines
On Mon, 20 Apr 2015 15:59:11 +0100 Martin Frb wrote: > [...] > Maybe to avoid jumpnig, the section for each thread (while active) can > be fixed height? > > That is with 2 threads the window is split into 2 equal height sections > (adjusted on resize), showing the progress for each thread. > > They keep their size, even if the window is scrolled. The number of threads changes during compilation. It can grow to 8 or more. With tiny windows for each thread, you can not read / use the messages.

With 8 threads, not all will be visible anyway. (you could mak it a grid, with columns too.

Idle threads is another think.... They could be sorted towards the top, but then order changes again.

Reply by email

Bart
to Mattias Gaertner: On Mon, 20 Apr 2015 15:19:55 +0200 That would be a bug. How to reproduce? Mattias
Mattias Gaertner wrote 9 lines
On Mon, 20 Apr 2015 15:19:55 +0200 Bart wrote: >[...] > However, frequently I see messages I want to inspect (click on them to > go to the source), but this seems impossible now? That would be a bug. How to reproduce?

I have seen that mostly when building the IDE (e.g. lots of packages), but I tried again now and I can see all warnings etc.

For me it would be a nice feature if the lines with the compiled packages that have messages would have an expand sign (and by default no messages visible below them).

Bart

Reply by email

Graeme Geldenhuys
to Martin Frb: With 8 threads, not all will be visible anyway. (you could mak it a grid, with columns…
Martin Frb wrote
With 8 threads, not all will be visible anyway. (you could mak it a grid, with columns too.

I'm researching a few prototypes here to see what could work. I'm also looking at tabs, an actual treeview etc. I'll also try and take a look at other IDE's and see if they might have some good ideas.

Regards,
- Graeme -

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

Reply by email

Martin Frb
to Mattias Gaertner: On Mon, 20 Apr 2015 16:16:51 +0100 ide/etmessageframe.pas TMsgCtrlUrgencyStyle.Color You…
Mattias Gaertner wrote 15 lines
On Mon, 20 Apr 2015 16:16:51 +0100 Martin Frb wrote: > Can you point me to were they are set? (reachable from the options code) > > I might find some time. > > Asternatively we can try and find more people ;) ide/etmessageframe.pas TMsgCtrlUrgencyStyle.Color You might want to change the logic in procedure TMessagesCtrl.Paint Search for "// message text".

Done.

Selected messages fall back to theme colors, but unselected messages follow the settings

Reply by email