Recent

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

dbannon

  • Hero Member
  • *****
  • Posts: 3856
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Gtk3 widgetset - call for testing
« Reply #30 on: May 09, 2026, 03:23:51 am »
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.

Are you sure of that zeliko ?  It looks to me that all that has been merged is the protocol, looking at the commit, its just "function prototypes". No real code.

And the real code, when and if provided needs to be in a release of wayland, certainly not in my current wayland equipped VMs.

Yes, its about "restoring previous position" but I get the impression that the app can fiddle that data to achieve what we want, eg, the tool bar complex in Lazarus across the top of the screen. In my app, the opening window top left (just because that is traditionally where it pops up, less important).

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

PascalDragon

  • Hero Member
  • *****
  • Posts: 6403
  • Compiler Developer
Re: Gtk3 widgetset - call for testing
« Reply #31 on: May 12, 2026, 09:17:47 pm »
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.

You are thinking about the Session Management protocol which is only relevant for storing and restoring top level windows. What dbannon is talking about is the Zones protocol which allows placing windows in a zone assigned by the compositor which is what for example Lazarus would use for initial startup in windowed mode.

zeljko

  • Hero Member
  • *****
  • Posts: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #32 on: May 12, 2026, 09:44:13 pm »
Yes, probably mismatch in my head, I've read about that experimental stuff maybe one/two years ago (seem about both protocols). In any case, there's no compositor which implements Zones protocol atm (as I can see on Zones page). Is there any useable Zones protocol implemented or it's official page is accurate with 0 compositors support ?

dbannon

  • Hero Member
  • *****
  • Posts: 3856
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Gtk3 widgetset - call for testing
« Reply #33 on: May 14, 2026, 10:03:14 am »
Zones is "officially" an experimental protocol. As I understand it no code to implement it exists in any release (and possibly unreleased) version yet.  So, it needs code in Wayland, then perhaps, code in the compositors, then we need to hit that API.

Or, is it possible we can go straight to Wayland ? Naughty but maybe nice...

Davo
Lazarus 4, 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: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #34 on: May 14, 2026, 10:23:59 am »
It is possible to go straight to Wayland of course, directly from lazarus and play with zones if we are under wayland (see recent customdrawn commits from danny milosavljevic).

PascalDragon

  • Hero Member
  • *****
  • Posts: 6403
  • Compiler Developer
Re: Gtk3 widgetset - call for testing
« Reply #35 on: May 14, 2026, 09:30:45 pm »
Is there any useable Zones protocol implemented or it's official page is accurate with 0 compositors support ?

There are some proof-of-concept implementations mentioned in that eternal merge request.

Jonax

  • Jr. Member
  • **
  • Posts: 55
    • Jonax stuff
Re: Gtk3 widgetset - call for testing
« Reply #36 on: June 22, 2026, 09:34:08 am »
I just managed to compile a small freeware grayout game for GTK3 on the Trunk on Debian 13 with Wayland. During earlier tests on gtk3-alpha the colors were messed up. But on Trunk they behave,
So yay for that!
 :)

(Very modest system requirements. Very short play time. If anyone wants to test it, PM me or find it on my site, in the Linux GTK3 section.)

PeterBB

  • Jr. Member
  • **
  • Posts: 98
Re: Gtk3 widgetset - call for testing
« Reply #37 on: June 23, 2026, 06:20:12 pm »
I built c-evo-dh with lazarus trunk.
gtk2 works fine, but the display is messed up with gtk3.
Attaching screen shots of the start screen. I notice that the mini-map is completely blank with gtk3,
and the icon on the top left is wrong color.

The main game display is fine when first loaded (bitblit issues were fixed),
but has massive corruption on scrolling. (See screenshot).

To build with Gtk3, tweak the makefile.
https://sourceforge.net/p/c-evo-eh/code/ci/master/tree/

One piece of good news, the selected unit blinks OK in Gtk3.
This is broken in Qt? with no obvious fix.

As things stand, win32 & gtk2 are the only viable widget sets for the Lararus ports of C-evo.

Peter



zeljko

  • Hero Member
  • *****
  • Posts: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #38 on: June 23, 2026, 07:05:21 pm »
Does it work in cocoa ? I suspect you're painting outside of paint event, but yes, there could be uncovered stuff in qt and gtk3, in that case pls.open issue and try to strip an small.example of project

PeterBB

  • Jr. Member
  • **
  • Posts: 98
Re: Gtk3 widgetset - call for testing
« Reply #39 on: June 24, 2026, 12:32:55 pm »
Does it work in cocoa ?

I don't know. Have no Mac hardware here. It would be interesting if someone who does could try it.

The main display only corrupts on scrolling.
Scrolling can be disabled, with the user moving around the main map by clicking on the mini-map.

However, several of of the advisor screens do not display properly.
Problems with F2,F3,F4,F5
Working just fine are F1,F6,F7,F9,F10

Though I notice that function keys are not working in gtk3,
so have to select advisor screens via the menu.







zeljko

  • Hero Member
  • *****
  • Posts: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #40 on: June 24, 2026, 04:41:03 pm »
I'll play with it a bit next week to see what chokes you, no spare time atm

zeljko

  • Hero Member
  • *****
  • Posts: 1987
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Gtk3 widgetset - call for testing
« Reply #41 on: June 28, 2026, 06:26:34 pm »
@PeterBB , I think I've fixed most of problems with your game under gtk3. Can you test it with current trunk ?

Seenkao

  • Hero Member
  • *****
  • Posts: 767
    • New ZenGL.
Re: Gtk3 widgetset - call for testing
« Reply #42 on: June 29, 2026, 08:21:53 pm »
Hi!

Lazarus 4.99 (rev main_4_99-4722-g44a7da384f) FPC 3.3.1 x86_64-linux-gtk3
Debian 13
Cinnamon
XLibre

Устанавливал Lazarus используя FPCUPDEluxe.
Работает лучше и стабильнее.
Есть одна из проблем. Будете проверять или не будете решать вам. В ZenGL есть проект ZenFont (папка tools). При сборке проекта в данном Lazarus вылезает ошибка от Wayland (напоминаю, у меня XLibe). Когда я заново собрал проект и все компоненты установил там заново, то проект стал стабильно работать.

В проекте панель используется как холст для ZenGL. И именно от панели была ошибка выдана, хотя сама ошибка может появилась раньше. Если бы я знал как можно протестировать и решить данную проблему, то мог бы указать и саму проблему. Но я не силён в LCL-проектах.

Возможно это нужная информация, а возможно и нет. Ведь в большинстве случаев можно просто пересобрать проект, заменив модули где используются графические компоненты. Что лично я и сделал.

В ZenGL используется функция gdk_x11_window_get_xid. Добавил её вручную.
(тут были ошибочные данные, потому что я недосмотрел).


-----------------------------------------------------------

Google translate:
I installed Lazarus using FPCUPDEluxe.
It works better and is more stable.
There's one issue. Whether you test it or not is up to you. There is a ZenFont project in ZenGL (tools folder). When building the project in this Lazarus, I get an error about Wayland (remember, I'm using XLibe). When I rebuilt the project and installed all the components again, the project began to work stably.

The project uses the panel as a canvas for ZenGL. The panel was the source of the error, although the error may have appeared earlier. If I knew how to test and solve this problem, I could point out the issue. But I'm not strong in LCL projects.

This information may or may not be helpful. In most cases, you can simply rebuild the project, replacing the modules that use the graphical components. Which is what I personally did.

ZenGL uses the gdk_x11_window_get_xid function. I added it manually.
(There was some wrong data here because I didn't pay attention.)
« Last Edit: June 29, 2026, 09:03:23 pm by Seenkao »
Rus: Стремлюсь к созданию минимальных и достаточно быстрых приложений.

Eng: I strive to create applications that are minimal and reasonably fast.
Working on ZenGL

PeterBB

  • Jr. Member
  • **
  • Posts: 98
Re: Gtk3 widgetset - call for testing
« Reply #43 on: June 29, 2026, 10:42:44 pm »
@PeterBB , I think I've fixed most of problems with your game under gtk3. Can you test it with current trunk ?

Thanks, will do.

PeterBB

  • Jr. Member
  • **
  • Posts: 98
Re: Gtk3 widgetset - call for testing
« Reply #44 on: June 30, 2026, 12:05:38 am »
@PeterBB , I think I've fixed most of problems with your game under gtk3. Can you test it with current trunk ?

Thanks, will do.

Wow!   Its much much better!   One problem remains though. 
The selected unit which needs to be blinking, only seems to blink when its in the top left of the main screen. This is bizarre.

I've not found any other issues, but need to do more testing.

The background selection colour for maps and games is a royal blue in gtk3.
Its more of a muddy grey/blue in gtk2 & qt.   
(Not really a problem in itself unless its a symptom of something more serious under the hood)

Cheers,
Peter

 

TinyPortal © 2005-2018