Recent

Author Topic: Lazarus Release Candidate 1 of 2.2.0  (Read 109927 times)

prof7bit

  • Full Member
  • ***
  • Posts: 163
Re: Lazarus Release Candidate 1 of 2.2.0 Systray
« Reply #120 on: October 19, 2021, 05:43:00 pm »

What is Launchpad?

Launchpad is the Ubuntu bug tracker. The only person who will (or won't) act on this is the one who is packaging Lazarus for Ubuntu. He will then either report it upstrem or patch it only for Ubuntu (and maybe (or not) send the patch upstream) or do nothing at all.

This should really be reported in the official Lazarus gitlab repository where dozens of active devs are reading.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
Re: Lazarus Release Candidate 1 of 2.2.0 Systray
« Reply #121 on: October 19, 2021, 06:08:10 pm »
Launchpad is the Ubuntu bug tracker.
Ok, thanks. I forgot that.

dbannon, do you have a test app to copy here. I don't have any at least in this machine. I will test it in my Manjaro Linux, too.
How about LCL-GTK3?
« Last Edit: October 19, 2021, 06:50:08 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

dbannon

  • Hero Member
  • *****
  • Posts: 3156
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #122 on: October 20, 2021, 01:12:13 am »
Thanks Juha, in reverse order -

GTK3 should not be an issue, when I did the last Systray update for GTK3 we did not consider the traditional SysTray at all. From memory.

I'll make a test app later today (my time), cannot do it right now, sorry, bit pushed for time.  But easy test, in designer drop a SysTray on the form, give it a an icon and assign a popup menu (thats important, the SysTray must have aan icon and a popup menu with at least one menu item).

Compile and run, on U2110 Gnome, the menu will popup but not where the user expects it.

@prof7bit, to clarify, two possible fixes for this situation -
1. Get Ubuntu to reverse decision to stop supporting old Systray. As they are the last distro to support it, seems unlikely. the issue is within the Desktop, Lazarus does what Lazarus has always done.
2. Apply my patch. its not something for the Lazarus packagers at Debian (or Ubunbu), then apps make with the patched Lazarus will work as expected.  If we push the change I suggest to our Lazarus, eventually Debian will pick up that (they only take releases, never trunk or fixes) and once the fix is in Debian, Ubuntu will use it with their next release.

So, we can assume that Ubuntu has stopped tweaking Gnome to support the old Systray model. I doubt they will reverse that decision. They have also stopped shipping their own Unity based Appindicator, they now appear to ship Ayatana. Sadly, however, unlike other distros, U2110 X still reports it CAN do old systray when it cannot. So the autodetection code I had in there is useless. But its way past time we defaulted to AppIndicator anyway.

In the mean time, applications built using distro lazarus will have problems, packages built from "our" Lazarus will be OK.  For my app, for example, to build in the Debian repo, I will have to try and apply my patch live during the remote build, no idea if I can even do that. Sigh...

Sorry if my post sounds a bit garbled, in a hurry....

 Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

prof7bit

  • Full Member
  • ***
  • Posts: 163
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #123 on: October 20, 2021, 08:41:30 am »
Sadly, however, unlike other distros, U2110 X still reports it CAN do old systray when it cannot.

Yes, this sounds like a bug in Ubuntu. Probably nobody there noticed it because the overwhelming majority of applications nowadays use the new API anyways and those few that are too old and still don't support it also won't query which systray API they should use because they are not aware of the change at all.

And I agree Lazarus should also use the new API by default. I remember may years ago (too many to count them) Ubuntu already started aggressively phasing out the old API and most applications just dropped the old one entirely and never looked back.


dbannon

  • Hero Member
  • *****
  • Posts: 3156
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #124 on: October 20, 2021, 09:32:41 am »
TrayIcon Component on Linux

OK, here is a test app, much as I described but has the added 'feature' of asking X can it, or cannot it not do traditional systems tray. But, as we know, in U2110 at least, X lies !

It has a GTK2, GTK3 and Qt5 modes. In my system here, all work fine in my U2004 Mate machine but on U2110 Gnome the GTK3 version crashes and, as noted, in the GTK2 version, the TrayIcom Menu will popup in the wrong place, apparently randomly, if LCL is unpatched.

(The patch does nothing for GTK3, not sure whats happening there but a different issue. If its TrayIcon, I will look into it but not immediately.)

Davo
« Last Edit: October 20, 2021, 09:34:20 am by dbannon »
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #125 on: October 20, 2021, 11:18:56 am »
I applied the patch in 99e4bd2515. It will be merged to 2.2.
Yes, it improved the menu position of a GTK2 app under my KDE, although it was not totally bad even earlier.
The popup menu opens also with left mouse button. Is it intentional? The QT5 version opens popup only with right button.
The app compiled for GTK3 works here, too, identically with the GTK2 app.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

dbannon

  • Hero Member
  • *****
  • Posts: 3156
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #126 on: October 20, 2021, 12:31:38 pm »
I applied the patch in 99e4bd2515. It will be merged to 2.2.
Brilliant !  Thanks, really sorry I did not pick it up earlier.

Yes, it improved the menu position of a GTK2 app under my KDE, although it was not totally bad even earlier.
Its mainly a problem on systems using Gnome on Wayland. On my test VM, it pops up anywhere. It was a problems when Wayland first appeared, particularly on Fedora, when people where making Gnome plugins to bring back the old SysTray. In the name of simplicity, Gnome had been trying to stamp out SysTray for some time. Trouble is that Gnome is the default Desktop for the big distros, Fedora, Ubuntu and SUSe.

The popup menu opens also with left mouse button. Is it intentional? The QT5 version opens popup only with right button.
I am not sure. One of the declared aims of the System Tray replacements, the AppIndicators, was that all you could do was respond to a click, you cannot get a right click back, a double click, a drag and so on. On some desktops a right click is reserved for configuring the panel the icon sits in, others its just sent back indistinguishable from a left click.
The app compiled for GTK3 works here, too, identically with the GTK2 app.
Yes, it works fine on my desktop too. I have no idea whats wrong on U2110. I suspect it might be that my code that queries X is to blame, so another reason to get rid of it from LCL.

update: Hmm, still on U2110 and GTK3 version. Bypass my X code and it no longer crashes but it does not work well at all.  No sign of the checkbox and the text in the Memo is far too tiny to read. A way to go with GTK3 I am afraid. I don't think it relates to TrayIcon but will make sure.

EDIT: No, those strange behaviours in GTK3 do not relate to TrayIcon. GTK3 is one sick puppy !

Davo
« Last Edit: October 20, 2021, 01:24:20 pm by dbannon »
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

BSaidus

  • Hero Member
  • *****
  • Posts: 596
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #127 on: October 26, 2021, 01:58:53 pm »
Hello, All.
I've downloaded Lazarus_2.2 fixes ( https://gitlab.com/freepascal.org/lazarus/lazarus/-/tree/fixes_2_2 ), compiled it succefully, And tried install some components.
Work well but there is some components that to not install from LazarusCCR ( jvcl, richmemo ).

lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

wp

  • Hero Member
  • *****
  • Posts: 12459
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #128 on: October 26, 2021, 03:58:02 pm »
RichMemo is no longer maintained on CCR although the files are still there; you must get the version from the author's github (see readme.txt in CCR's RichMemo folder). Or use the version distributed by the Online-Package-Manager (OPM) - it works, I just tested it on Laz-fixes/fpc-fixes

I also tested JVCL from OPM with Laz-fixes/fpc-fixed - it works too. Installation of the CCR version is a bit cumbersome because of the large number of packages. I just installed the JvclAll package which links in all other packages - and this worked again (I am not 100% sure though because my system may be contaminated by previous installations of JVCL); otherwise see the manual installation instruction on the wiki page (https://wiki.freepascal.org/JVCL_Components#Installation).

So please be more specific on what exacty you did, and always report the error message and error location if possible.

BSaidus

  • Hero Member
  • *****
  • Posts: 596
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #129 on: October 26, 2021, 07:10:29 pm »
RichMemo is no longer maintained on CCR although the files are still there; you must get the version from the author's github (see readme.txt in CCR's RichMemo folder). Or use the version distributed by the Online-Package-Manager (OPM) - it works, I just tested it on Laz-fixes/fpc-fixes

I also tested JVCL from OPM with Laz-fixes/fpc-fixed - it works too. Installation of the CCR version is a bit cumbersome because of the large number of packages. I just installed the JvclAll package which links in all other packages - and this worked again (I am not 100% sure though because my system may be contaminated by previous installations of JVCL); otherwise see the manual installation instruction on the wiki page (https://wiki.freepascal.org/JVCL_Components#Installation).

So please be more specific on what exacty you did, and always report the error message and error location if possible.

Thanks @wp for response,
I was in a bit of a hurry this morning and effectevelly I did'nt give more informations about errors.
So, OK I'll try to use packages from OPM.
I use lazarus_2.2_fixes with fpc 3.2.2 release.

Thnks you all.
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

fblu

  • Newbie
  • Posts: 4
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #130 on: October 29, 2021, 09:39:01 am »
Hi,

I have a question about the new debugger.
In the final release, is the debugging going to support watching the properties of objects in the code?
For example, I tried the new RC1, and when hovering the mouse over a line written edit1.text, the debugger showed a yellow hint written "Edit1.Text = ???". And if I add a watch for "edit1.text", it says "<error:member not found: text>".

I also can't watch the contents of any kinds of lists, such as TStringLists.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 10551
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #131 on: October 29, 2021, 03:17:46 pm »
In the final release, is the debugging going to support watching the properties of objects in the code?
For example, I tried the new RC1, and when hovering the mouse over a line written edit1.text, the debugger showed a yellow hint written "Edit1.Text = ???". And if I add a watch for "edit1.text", it says "<error:member not found: text>".

I also can't watch the contents of any kinds of lists, such as TStringLists.

Not in Lazarus 2.2.

This feature needs changes to the compiler. Afaik Joost is working on that.



IIRC, Stringlist can be explored (very rudimentary) in the "debug inspector", by following the FList variable.

fblu

  • Newbie
  • Posts: 4
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #132 on: October 29, 2021, 11:15:16 pm »
Not in Lazarus 2.2.

This feature needs changes to the compiler. Afaik Joost is working on that.



IIRC, Stringlist can be explored (very rudimentary) in the "debug inspector", by following the FList variable.
I see, thanks.

BSaidus

  • Hero Member
  • *****
  • Posts: 596
  • lazarus 1.8.4 Win8.1 / cross FreeBSD
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #133 on: November 03, 2021, 09:31:04 pm »
Hello,
With witch version of FPC the Lazarus IDE 2.2 will be built.
Do you think that we will see : lazarus-2.2-fpc-3.2.4 ??

thanks.
lazarus 1.8.4 Win8.1 / cross FreeBSD
dhukmucmur vernadh!

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
Re: Lazarus Release Candidate 1 of 2.2.0
« Reply #134 on: November 04, 2021, 11:26:01 am »
With witch version of FPC the Lazarus IDE 2.2 will be built.
Do you think that we will see : lazarus-2.2-fpc-3.2.4 ??
It will be FPC 3.2.2. The next one will probably use FPC 3.2.4.
FPC releases typically take a long time. Let's hope 3.2.4 comes in time.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

 

TinyPortal © 2005-2018