Recent

Author Topic: Gtk3 widgetset - call for testing  (Read 1698 times)

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1258
Re: Gtk3 widgetset - call for testing
« Reply #15 on: May 05, 2026, 10:29:27 pm »
One more image.

dsiders

  • Hero Member
  • *****
  • Posts: 1607
Re: Gtk3 widgetset - call for testing
« Reply #16 on: May 05, 2026, 11:10:02 pm »
Zorin Os 18.1 is using GNOME 46.7 on Wayland.
Even after saving the settings, the IDE always starts with the windows centered and overlapping, as shown in the attached images.
It's a minor annoyance to rearrange these windows, but it doesn't interfere with the rest of my work each day.
The small projects I've tested so far also start centered even when they shouldn't, but then they work normally.

That's Wayland. It's garbage.

zeljko

  • Hero Member
  • *****
  • Posts: 1920
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #17 on: May 06, 2026, 08:06:52 am »
One more image.

Yesterday I've fixed most of assertions from gtk3 css. Update your git and rebuild ide.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1258
Re: Gtk3 widgetset - call for testing
« Reply #18 on: May 06, 2026, 09:21:27 am »
One more image.

Yesterday I've fixed most of assertions from gtk3 css. Update your git and rebuild ide.

Done:

Code: Bash  [Select][+][-]
  1. remote: Enumerating objects: 88, done.
  2. remote: Counting objects: 100% (88/88), done.
  3. remote: Compressing objects: 100% (68/68), done.
  4. remote: Total 68 (delta 56), reused 0 (delta 0), pack-reused 0 (from 0)
  5. Unpacking objects: 100% (68/68), 8.36 KiB | 95.00 KiB/s, done.
  6. From https://gitlab.com/freepascal.org/lazarus/lazarus
  7.    ec208ada5b..186810ed86  main       -> origin/main
  8. Updating ec208ada5b..186810ed86
  9. Fast-forward
  10.  components/codetools/finddeclarationtool.pas      |  27 ++---
  11.  components/synedit/synedit.pp                     |   2 +-
  12.  components/synedit/synedithighlighter.pp          | 494 +++++++++++++++++++++++++++---------------------------------------------------
  13.  components/synedit/synedithighlighterfoldbase.pas |   2 +-
  14.  ide/packages/ideconfig/idebuilder.pas             |   5 +
  15.  lcl/interfaces/gtk3/gtk3lclnotebook.inc           |  49 +++++---
  16.  lcl/interfaces/gtk3/gtk3lclscrolledwindow.inc     |  35 +++++-
  17.  lcl/interfaces/gtk3/gtk3mdiemulator.pas           |  32 +++++
  18.  lcl/interfaces/gtk3/gtk3widgets.pas               |  63 ++++++++--
  19.  lcl/interfaces/gtk3/gtk3winapi.inc                |   1 +
  20.  10 files changed, 338 insertions(+), 372 deletions(-)



Fatal error message on "$ make bigide":
Code: Bash  [Select][+][-]
  1. ...
  2. (3104) Compiling ./gtk3/gtk3cellrenderer.pas
  3. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(119,56) Hint: (5024) Parameter "widget" not used
  4. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(273,23) Hint: (5057) Local variable "gvalue" does not seem to be initialized
  5. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(369,10) Warning: (2024) User defined: fix this case, maybe alloc primitive combobox when creating widgetset with other widgets for GetSystemMetrics. We need accurate button area width
  6. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(624,19) Note: (6058) Call to subroutine "function TGtkWidget.create_pango_layout(text:Pgchar):^TPangoLayout; CDecl;" marked as inline is not inlined
  7. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(880,64) Hint: (5024) Parameter "class_data" not used
  8. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(917,50) Hint: (5024) Parameter "g_class" not used
  9. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(917,74) Hint: (5024) Parameter "class_data" not used
  10. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(922,41) Hint: (5024) Parameter "Instance" not used
  11. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(923,8) Hint: (5024) Parameter "theClass" not used
  12. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(1034,10) Note: (6058) Call to subroutine "procedure TGValue.set_string(v_string:Pgchar); CDecl;" marked as inline is not inlined
  13. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(1054,12) Note: (6058) Call to subroutine "procedure TGValue.set_string(v_string:Pgchar); CDecl;" marked as inline is not inlined
  14. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(94,49) Hint: (5024) Parameter "cell_layout" not used
  15. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(94,78) Hint: (5024) Parameter "cell" not used
  16. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(94,102) Hint: (5024) Parameter "tree_model" not used
  17. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(94,129) Hint: (5024) Parameter "iter" not used
  18. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(94,149) Hint: (5024) Parameter "data" not used
  19. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3cellrenderer.pas(31,14) Hint: (5023) Unit "LazPangoCairo1" not used in Gtk3CellRenderer
  20. (3104) Compiling ./gtk3/gtk3private.pas
  21. /home/valdir/lazarus_trunk/lcl/interfaces/./gtk3/gtk3widgets.pas(177,1) Fatal: Internal error 200611031
  22. Fatal: (1018) Compilation aborted
  23. Error: /usr/bin/ppcx64 returned an error exitcode
  24. Error: (lazarus) Compilar pacote LCL 4.99: stopped with exit code 1
  25. Error: (lazarus) [TLazPackageGraph.CompileRequiredPackages] "Código saída 1"
  26. Error: (lazbuild) Building IDE: Compile AutoInstall Packages failed
  27. make: *** [Makefile:3209: idebig] Erro 2

Would it be useful to attach the whole log of compiling messages?

Why are there so many Warnings and Hints' messages?

Should I compile Lazarus Trunk with FPC fixes_3_2 instead of FPC 3.2.2?

zeljko

  • Hero Member
  • *****
  • Posts: 1920
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #19 on: May 06, 2026, 12:44:17 pm »
gtk3 compiles with fpc-3.2.2 , fpc-3.2.4, trunk. Such messages like: "Parameter "cell_layout" not used" can be surpressed by disabling such fpc message...etc. , such like this:  Unit "LazPangoCairo1" not used in Gtk3CellRenderer will be cleaned up by me. For problem with compilation try to delete *.o and *.ppu inside lcl/units/YOURCPUANDOS/gtk3 , and then rebuild. It works here w/o problems.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1258
Re: Gtk3 widgetset - call for testing
« Reply #20 on: May 06, 2026, 09:09:56 pm »
gtk3 compiles with fpc-3.2.2 , fpc-3.2.4, trunk. Such messages like: "Parameter "cell_layout" not used" can be surpressed by disabling such fpc message...etc. , such like this:  Unit "LazPangoCairo1" not used in Gtk3CellRenderer will be cleaned up by me. For problem with compilation try to delete *.o and *.ppu inside lcl/units/YOURCPUANDOS/gtk3 , and then rebuild. It works here w/o problems.

Done. Solved.



All these messages are expected when running the IDE?
Code: Bash  [Select][+][-]
  1. valdir@maq501:~/lazarus_trunk$ ./lazarus --pcp=~/lazarus_trunk/.lazarus_trunk &
  2.  
  3.  
  4. SetPrimaryConfigPath NewValue="~/lazarus_trunk/.lazarus_trunk" expanded to "/home/valdir/lazarus_trunk/.lazarus_trunk"
  5. Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="/home/valdir/lazarus_trunk/.lazarus_trunk"
  6. Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="/etc/lazarus"
  7. Gdk-Message: 12:07:50.497: Window 0x399b6e70 is a temporary window without parent, application will not be able to position it on screen.
  8. Hint: (lazarus) [TBuildManager.SetBuildTarget] Old=x86_64-linux--gtk3 New=x86_64-linux--gtk3 Changed: OS/CPU=True LCL=False
  9.  
  10. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.765: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  11.  
  12. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.765: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  13.  
  14. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.766: gtk_distribute_natural_allocation: assertion 'extra_space >= 0' failed
  15.  
  16. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.766: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  17.  
  18. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.766: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  19.  
  20. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.902: gtk_distribute_natural_allocation: assertion 'extra_space >= 0' failed
  21.  
  22. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.902: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  23.  
  24. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.902: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  25.  
  26. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.903: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  27.  
  28. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.903: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  29.  
  30. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.904: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  31.  
  32. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.904: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  33.  
  34. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.904: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  35.  
  36. (lazarus:92998): Gtk-CRITICAL **: 12:07:51.904: gtk_box_gadget_distribute: assertion 'size >= 0' failed in LCLGtkNotebook
  37. Hint: (lazarus) [TPkgManager.AddUnitDepsForCompClasses] Extending Uses unit1.pas StdCtrls
  38. [TEventsCodeTool.CompleteComponent] ADDING variable Label1:TLabel
  39. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  40. [TEventsCodeTool.CompleteComponent] ADDING variable Label2:TLabel
  41. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  42. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  43. [TEventsCodeTool.CompleteComponent] ADDING variable Edit1:TEdit
  44. [TEventsCodeTool.CompleteComponent] ADDING variable Edit2:TEdit
  45. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  46. [TEventsCodeTool.CompleteComponent] ADDING variable Button1:TButton
  47. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  48. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  49. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  50. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  51. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  52. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  53. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  54. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  55. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  56. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  57. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  58. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  59. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  60. [TEventsCodeTool.CompleteComponent] ADDING variable Button2:TButton
  61. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  62. Gdk-Message: 12:12:39.091: Window 0x3a9b8400 is a temporary window without parent, application will not be able to position it on screen.
  63.  
  64. (lazarus:92998): Gdk-CRITICAL **: 12:12:39.099: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  65. Gdk-Message: 12:13:01.209: Window 0x3a99b420 is a temporary window without parent, application will not be able to position it on screen.
  66.  
  67. (lazarus:92998): Gdk-CRITICAL **: 12:13:01.221: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  68. Gdk-Message: 12:13:09.145: Window 0x3a9eb410 is a temporary window without parent, application will not be able to position it on screen.
  69. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  70.  
  71. (lazarus:92998): Gdk-CRITICAL **: 12:13:09.152: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  72. Gdk-Message: 12:13:34.203: Window 0x3a9e1bf0 is a temporary window without parent, application will not be able to position it on screen.
  73. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  74.  
  75. (lazarus:92998): Gdk-CRITICAL **: 12:13:34.222: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  76. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  77. Gdk-Message: 12:13:52.619: Window 0x3a926510 is a temporary window without parent, application will not be able to position it on screen.
  78. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  79.  
  80. (lazarus:92998): Gdk-CRITICAL **: 12:13:52.643: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  81. Gdk-Message: 12:13:57.394: Window 0x3a9e6040 is a temporary window without parent, application will not be able to position it on screen.
  82. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  83.  
  84. (lazarus:92998): Gdk-CRITICAL **: 12:13:57.399: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  85. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  86. Hint: (lazarus) [TMainIDE.DoRunProjectWithDebug] INIT
  87. Hint: (lazarus) Project needs building: SrcFile outdated Project
  88. Info: (lazarus) Execute Title="Compile Project, Target: /home/valdir/tmp/project1"
  89. Info: (lazarus) Working Directory="/home/valdir/tmp/"
  90. Info: (lazarus) Executable="/usr/bin/fpc"
  91. Info: (lazarus) Param[0]="-MObjFPC"
  92. Info: (lazarus) Param[1]="-Scghi"
  93. Info: (lazarus) Param[2]="-Cg"
  94. Info: (lazarus) Param[3]="-O1"
  95. Info: (lazarus) Param[4]="-gw3"
  96. Info: (lazarus) Param[5]="-gl"
  97. Info: (lazarus) Param[6]="-l"
  98. Info: (lazarus) Param[7]="-vewnhibq"
  99. Info: (lazarus) Param[8]="-Fi/home/valdir/tmp/lib/x86_64-linux"
  100. Info: (lazarus) Param[9]="-Fu/home/valdir/lazarus_trunk/lcl/units/x86_64-linux/gtk3"
  101. Info: (lazarus) Param[10]="-Fu/home/valdir/lazarus_trunk/lcl/units/x86_64-linux"
  102. Info: (lazarus) Param[11]="-Fu/home/valdir/lazarus_trunk/components/freetype/lib/x86_64-linux"
  103. Info: (lazarus) Param[12]="-Fu/home/valdir/lazarus_trunk/components/lazutils/lib/x86_64-linux"
  104. Info: (lazarus) Param[13]="-Fu/home/valdir/lazarus_trunk/packager/units/x86_64-linux"
  105. Info: (lazarus) Param[14]="-FU/home/valdir/tmp/lib/x86_64-linux/"
  106. Info: (lazarus) Param[15]="-FE/home/valdir/tmp/"
  107. Info: (lazarus) Param[16]="-o/home/valdir/tmp/project1"
  108. Info: (lazarus) Param[17]="-dLCL"
  109. Info: (lazarus) Param[18]="-dLCLgtk3"
  110. Info: (lazarus) Param[19]="/home/valdir/tmp/project1.lpr"
  111. Info: (lazarus) [TCompiler.Compile] end
  112. Hint: (lazarus) [TMainIDE.DoBuildProject] compiler time in s: 2,70500003825873
  113. Info: (lazarus) [TMainIDE.DoBuildProject] Success
  114. Hint: (lazarus) [TMainIDE.DoRunProjectWithDebug] Debugger=TFpDebugDebugger
  115. Hint: (lazarus) [TMainIDE.DoRunProjectWithDebug] END
  116.  
  117. (lazarus:92998): Gdk-WARNING **: 12:33:15.403: Couldn't map window 0x3a570df0 as subsurface because its parent is not mapped.
  118. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  119. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) StringEditor:TStringCellEditor
  120. Gdk-Message: 12:33:29.186: Window 0x3a74ea50 is a temporary window without parent, application will not be able to position it on screen.
  121. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  122.  
  123. (lazarus:92998): Gdk-CRITICAL **: 12:33:29.212: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  124. Gdk-Message: 12:33:47.570: Window 0x3a73c1f0 is a temporary window without parent, application will not be able to position it on screen.
  125. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  126.  
  127. (lazarus:92998): Gdk-CRITICAL **: 12:33:47.575: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  128. Gdk-Message: 12:34:26.045: Window 0x3a73ac40 is a temporary window without parent, application will not be able to position it on screen.
  129. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) BMMatrixToolBar:TToolBar
  130.  
  131. (lazarus:92998): Gdk-CRITICAL **: 12:34:26.052: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed
  132. WARNING: TGtk3ThemeServices.DrawElement: Drawing for element 19 not implemented.
  133. Gdk-Message: 12:34:37.382: Window 0x3a8d0fd0 is a temporary window without parent, application will not be able to position it on screen.
  134. ****** GDK_GRAB_BROKEN (no problem if popupmenu or hint is activated) ModeMatrixControl:TGroupedMatrixControl
  135.  
  136. (lazarus:92998): Gdk-CRITICAL **: 12:34:37.391: gdk_wayland_window_handle_configure_popup: assertion 'impl->transient_for' failed

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1258
Re: Gtk3 widgetset - call for testing
« Reply #21 on: May 06, 2026, 10:15:39 pm »
Even the yellow tooltip that appears when the mouse hovers over the TButton in the IDE's Toolbar is anywhere far depending on which of the 5 Lazarus windows is selected when I hover the mouse over the TButton. See attached image.

When Lazarus 5.0 with LCL_GTK3 (current trunk) is released, will there be a notification stating that Wayland is not supported?

zeljko

  • Hero Member
  • *****
  • Posts: 1920
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #22 on: May 07, 2026, 10:07:57 am »
Even the yellow tooltip that appears when the mouse hovers over the TButton in the IDE's Toolbar is anywhere far depending on which of the 5 Lazarus windows is selected when I hover the mouse over the TButton. See attached image.

When Lazarus 5.0 with LCL_GTK3 (current trunk) is released, will there be a notification stating that Wayland is not supported?

There will be notification stating that wayland isn't what an winapi based app expect (window positioning, querying x,y pos, window state changes). There are some trials with wayland to get some kind of window positioning via zones, and probably sending window state changes. Hints should work, and if they're misplaced then it is about wayland compositor implementation you use, not lazarus. Note that I have not problem with hints under weston or kwin-wayland. I know that you may be frustrated, but 90% of problems is not about lazarus implementation but different wayland compositors implementation.

cdbc

  • Hero Member
  • *****
  • Posts: 2769
    • http://www.cdbc.dk
Re: Gtk3 widgetset - call for testing
« Reply #23 on: May 07, 2026, 10:18:03 am »
Hi
Hahaha, I'm running both KDE 6.6.x & IceWM -- X11  ·  and IceWm doesn't give a toss about your placement specification... It puts your app in one of the four corners or dead center  :D ;D :P  KDE does what you tell it to do...
So, not just Wayland  8-)
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE6/QT6 -> FPC Release -> Lazarus Release &  FPC Main -> Lazarus Main

zeljko

  • Hero Member
  • *****
  • Posts: 1920
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #24 on: May 07, 2026, 12:10:39 pm »
Hi
Hahaha, I'm running both KDE 6.6.x & IceWM -- X11  ·  and IceWm doesn't give a toss about your placement specification... It puts your app in one of the four corners or dead center  :D ;D :P  KDE does what you tell it to do...
So, not just Wayland  8-)
Regards Benny

Yes, just like it is written in basic x11 docs. Window manager decides about everything. Using KDE Plasma x11 for development, everything works fine here, xfwm4 also as I can see on my old laptop with Mint 20.03. Metacity have problems, but it's on it's way to be fixed. IceWM is still around ? Haven't play with it for 20 yrs.

cdbc

  • Hero Member
  • *****
  • Posts: 2769
    • http://www.cdbc.dk
Re: Gtk3 widgetset - call for testing
« Reply #25 on: May 07, 2026, 12:37:42 pm »
Hi zeljko
Yup, IceWM is still going strong and themes beautifully... 8)
I actually switch to it when I'm programming/coding, 'cause it's so "Blitz-Schnell" -- no dead-wood to drag around -- plus if it runs there it'll run pretty much everywhere  ;D
My old HP-lappy is loving it  :D  Especially when I code with 'fpGUI'  8-)
One minor bit is missing though -- I'll have to implement some app for DropBox & NextCloud, as they're refusing to "play ball" with IceWM... Someday I will  ;)
Regards Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE6/QT6 -> FPC Release -> Lazarus Release &  FPC Main -> Lazarus Main

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1258
Re: Gtk3 widgetset - call for testing
« Reply #26 on: May 07, 2026, 07:58:07 pm »
Even the yellow tooltip that appears when the mouse hovers over the TButton in the IDE's Toolbar is anywhere far depending on which of the 5 Lazarus windows is selected when I hover the mouse over the TButton. See attached image.

When Lazarus 5.0 with LCL_GTK3 (current trunk) is released, will there be a notification stating that Wayland is not supported?

There will be notification stating that wayland isn't what an winapi based app expect (window positioning, querying x,y pos, window state changes). There are some trials with wayland to get some kind of window positioning via zones, and probably sending window state changes. Hints should work, and if they're misplaced then it is about wayland compositor implementation you use, not lazarus. Note that I have not problem with hints under weston or kwin-wayland. I know that you may be frustrated, but 90% of problems is not about lazarus implementation but different wayland compositors implementation.

Thanks for your patience and effort.

Certification  processes exist for many reasons, mainly for cost and training time.

I am studying alternatives to minimize the impact.

Tampering with the certified end-user environment is always more traumatic and more expensive than limiting programmers and network administrators.

dbannon

  • Hero Member
  • *****
  • Posts: 3796
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Gtk3 widgetset - call for testing
« Reply #27 on: May 08, 2026, 02:25:00 pm »

Well, great, progress is being made with Wayland Zones -

https://www.phoronix.com/news/Wayland-Experimental-Zones

All we need to wait for now is it to make it through to a practicable release and Gnome to take it up. Gnome apparently is accused of cherry picking only the new things it likes and the industry just seems to follow Gnome, unquestioningly.

Sorry, for those not unduly excited about Wayland, Zones is apparently some add on protocol that will allow an application to position a window where it wants to instead of the centre of the screen. But who would want that ?

Now, do we wait for Zones to be accessible cutesy of GTK4, 5 or 6 or what ever or do we consider a 'zones' unit that can make those calls in Pascal ?  For example, I call direct to X to change workspaces (but obviously fails in wayland).
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

zeljko

  • Hero Member
  • *****
  • Posts: 1920
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #28 on: May 08, 2026, 03:23:41 pm »

Well, great, progress is being made with Wayland Zones -

https://www.phoronix.com/news/Wayland-Experimental-Zones

All we need to wait for now is it to make it through to a practicable release and Gnome to take it up. Gnome apparently is accused of cherry picking only the new things it likes and the industry just seems to follow Gnome, unquestioningly.

Sorry, for those not unduly excited about Wayland, Zones is apparently some add on protocol that will allow an application to position a window where it wants to instead of the centre of the screen. But who would want that ?

Now, do we wait for Zones to be accessible cutesy of GTK4, 5 or 6 or what ever or do we consider a 'zones' unit that can make those calls in Pascal ?  For example, I call direct to X to change workspaces (but obviously fails in wayland).

Zones will be available imediatelly for any lazarus WS that supports wayland. Zones primary usage is to restore window positions (not exact x,y but zones) at next application start.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1258
Re: Gtk3 widgetset - call for testing
« Reply #29 on: Today at 01:27:29 am »

Well, great, progress is being made with Wayland Zones -

https://www.phoronix.com/news/Wayland-Experimental-Zones

All we need to wait for now is it to make it through to a practicable release and Gnome to take it up. Gnome apparently is accused of cherry picking only the new things it likes and the industry just seems to follow Gnome, unquestioningly.

Sorry, for those not unduly excited about Wayland, Zones is apparently some add on protocol that will allow an application to position a window where it wants to instead of the centre of the screen. But who would want that ?

Now, do we wait for Zones to be accessible cutesy of GTK4, 5 or 6 or what ever or do we consider a 'zones' unit that can make those calls in Pascal ?  For example, I call direct to X to change workspaces (but obviously fails in wayland).

Zones will be available imediatelly for any lazarus WS that supports wayland. Zones primary usage is to restore window positions (not exact x,y but zones) at next application start.

Yet not a solution per se, but still interesting:


Experimental Zones Protocol Merged To Wayland After 2+ Years, 620+ Comments
Written by Michael Larabel in Wayland on 10 February 2026 at 08:22 AM EST.
https://www.phoronix.com/news/Wayland-Experimental-Zones

90 Comments
https://www.phoronix.com/forums/node/1612542

staging: Add xdg-toplevel-groups for persistent client-requested toplevel z-ordering
Matthias Klumpp
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/471

 

TinyPortal © 2005-2018