Recent

Author Topic: gtk3 with lazarus  (Read 14721 times)

benohb

  • Full Member
  • ***
  • Posts: 184
gtk3 with lazarus
« on: February 04, 2012, 10:34:33 am »
Since  February 2011

is There a new....?


What about this

http://wiki.freepascal.org/Gtk%2B3

Is there a plan...?

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: gtk3 with lazarus
« Reply #1 on: February 05, 2012, 05:10:47 pm »
Everything depends on how many patches people send, but I have a different idea. I think that we don't need Gtk, we can write everything ourselves like I am doing in LCL-CustomDrawn:

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface

In my idea Custom Drawn will be the substitute of LCL-Gtk2 maybe in 2 years (of course, only if other people jump in my ship and start sending patches). If other people think differently and implement a super good LCL-Gtk3 interface then their solution will win and my idea loose. It is meritocracy. But I haven't heard yet of someone with plans on starting LCL-Gtk3.

And I expect LCL-CustomDrawn to substitute LCL-WinCE too. With 1 interface which does it all we can achieve more with less work.

In my idea in the future some years ahead we will have 3 major interfaces: Windows optimized for Windows, Cocoa optimized for the best Mac experience and CustomDrawn which runs everywhere.

benohb

  • Full Member
  • ***
  • Posts: 184
Re: gtk3 with lazarus
« Reply #2 on: February 06, 2012, 07:03:57 am »
Quote
Everything depends on how many patches people send, but I have a different idea. I think that we don't need Gtk, we can write everything ourselves like I am doing in LCL-CustomDrawn:

http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface

In my idea Custom Drawn will be the substitute of LCL-Gtk2 maybe in 2 years (of course, only if other people jump in my ship and start sending patches). If other people think differently and implement a super good LCL-Gtk3 interface then their solution will win and my idea loose. It is meritocracy. But I haven't heard yet of someone with plans on starting LCL-Gtk3.

And I expect LCL-CustomDrawn to substitute LCL-WinCE too. With 1 interface which does it all we can achieve more with less work.

In my idea in the future some years ahead we will have 3 major interfaces: Windows optimized for Windows, Cocoa optimized for the best Mac experience and CustomDrawn which runs everywhere.

I think it's a great idea...
But there are a lot of work,,,,,,,,and wayaland :o :o Is this in mind

http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)

I have tried the following library and worked well with fpc 2.6...Why not merge it
http://wiki.freepascal.org/Gtk%2B3

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: gtk3 with lazarus
« Reply #3 on: February 06, 2012, 08:42:59 am »
I think it's a great idea...
But there are a lot of work,,,,,,,,

Well, I already wrote the entire foundation for this. It already runs in Android, X11, Mac OS X (via Cocoa) and Windows. The architecture is also very well thought out, it is flexible enough to support OpenGL for example in the future, it is fully skinnable and highly integrated with the LCL. And it has to be done anyway, there is no other way that we could have a decent Android support except like this. And if it has to be done, then the work for porting for other platforms is very small. 95% of the work is cross-backend.

Quote
and wayaland :o :o Is this in mind

It is not in my plans, unless it really wins the war against X11. So far I am not aware of any major distribution using it. But it is irrelevant in the end. Adding backends for LCL-CustomDrawn is easy and fast. You just need to expose 1 memory area for drawing in whatever format, basic window operations and input events. If I already wrote 4 backends, 1 more shouldn't be difficult.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7630
Re: gtk3 with lazarus
« Reply #4 on: February 06, 2012, 08:58:14 am »

Quote
and wayaland :o :o Is this in mind

It is not in my plans, unless it really wins the war against X11. So far I am not aware of any major distribution using it. But it is irrelevant in the end. Adding backends for LCL-CustomDrawn is easy and fast. You just need to expose 1 memory area for drawing in whatever format, basic window operations and input events. If I already wrote 4 backends, 1 more shouldn't be difficult.

Afaik Wayland will have libX11 too for X protocol apps.

benohb

  • Full Member
  • ***
  • Posts: 184
Re: gtk3 with lazarus
« Reply #5 on: February 07, 2012, 12:59:40 am »
Thanks for all  :D


Quote
Afaik Wayland will have libX11 too for X protocol apps.

I hope to succeed

The God bless you...

TurboRascal

  • Hero Member
  • *****
  • Posts: 672
  • "Good sysadmin. Bad programmer."™
Re: gtk3 with lazarus
« Reply #6 on: February 07, 2012, 10:19:01 pm »
In my idea in the future some years ahead we will have 3 major interfaces: Windows optimized for Windows, Cocoa optimized for the best Mac experience and CustomDrawn which runs everywhere.

Even though some people object, I think it's a good idea. While Windows and Mac have consistent GUI, Unixes have a mishmash of widgetsets, so this wouldn't hurt, especially if it can be seamlessly blended into many of them... Mobile OSes also have not much consistency (neither is it particularly important since there are no desktop windows) or no proper widgetsets at all...
Regards, ArNy the Turbo Rascal
-
"The secret is to give them what they need, not what they want." - Scotty, STTNG:Relics

Ocye

  • Hero Member
  • *****
  • Posts: 518
    • Scrabble3D
Re: gtk3 with lazarus
« Reply #7 on: February 11, 2012, 12:57:05 pm »
In my idea in the future some years ahead we will have 3 major interfaces: Windows optimized for Windows, Cocoa optimized for the best Mac experience and CustomDrawn which runs everywhere.
What's about Qt?
I'm afraid there will be not fewer good interfaces, as you suggest, but even more than today. And any solution should fit the OS theme perfectly....
Lazarus 1.7 (SVN) FPC 3.0.0

TurboRascal

  • Hero Member
  • *****
  • Posts: 672
  • "Good sysadmin. Bad programmer."™
Re: gtk3 with lazarus
« Reply #8 on: February 11, 2012, 07:13:18 pm »
And any solution should fit the OS theme perfectly....

The thing is, contrary to Windows and Mac, there is no "OS" theme in linux and similar unix-likes; it depends on the selected DE or on the user's choice (what would the "theme" be of a "desktop" consisting of fvwm with a selection of Motif, Athena&Xaw3d, Gtk (gnome or non-gnome), Qt (KDE and non-KDE) applications?) ;)

Custom-drawn could at least possibly adapt to such a chaos...
Regards, ArNy the Turbo Rascal
-
"The secret is to give them what they need, not what they want." - Scotty, STTNG:Relics

felipemdc

  • Administrator
  • Hero Member
  • *
  • Posts: 3541
Re: gtk3 with lazarus
« Reply #9 on: February 12, 2012, 02:54:10 pm »
Quote from: Ocye link=topic=15956.msg86550#msg86550
I'm afraid there will be not fewer good interfaces, as you suggest, but even more than today. And any solution should fit the OS theme perfectly....

Having lots and lots of interfaces might look only good, but then someone has to maintain all of those interfaces. Things need to be implemented multiple times again and again. And they all get obsolete and need to be rewritten for the next sucessor. So thats why I think that in the very long run CustomDrawn will be a winner: It needs only relatively small changes when the operating system turns upside down. And they do turn upside down more often then one thinks: Carbon removal, Windows GDI is already considered obsolete by Microsoft, etc.
« Last Edit: February 12, 2012, 02:56:29 pm by felipemdc »

lainz

  • Guest
Re: gtk3 with lazarus
« Reply #10 on: February 12, 2012, 03:21:45 pm »
Quote from: Ocye link=topic=15956.msg86550#msg86550
I'm afraid there will be not fewer good interfaces, as you suggest, but even more than today. And any solution should fit the OS theme perfectly....

Having lots and lots of interfaces might look only good, but then someone has to maintain all of those interfaces. Things need to be implemented multiple times again and again. And they all get obsolete and need to be rewritten for the next sucessor. So thats why I think that in the very long run CustomDrawn will be a winner: It needs only relatively small changes when the operating system turns upside down. And they do turn upside down more often then one thinks: Carbon removal, Windows GDI is already considered obsolete by Microsoft, etc.

In Windows 8 the most visible part for users will be the metro styled applications, for the classic desktop we can use CustomDrawn, for the shots I've seen (my pc don't support windows 8) the UI is the same as Windows 7, only changes if you select the hidden Aero Lite UI, that is being enabled with a hack for now.

Also if you want a unique look in your application with user custom 'skins' or 'themes', this is the first impression I get for custom drawn controls =) Most popular applications like Music Players, Windows Tuning apps,  also Antivirus has non native skins..

Phil

  • Hero Member
  • *****
  • Posts: 2750
Re: gtk3 with lazarus
« Reply #11 on: February 12, 2012, 05:29:41 pm »
In Windows 8 the most visible part for users will be the metro styled applications, for the classic desktop we can use CustomDrawn, for the shots I've seen (my pc don't support windows 8) the UI is the same as Windows 7, only changes if you select the hidden Aero Lite UI, that is being enabled with a hack for now.

Windows 8 on ARM apps must use the Metro UI and WintRT, as discussed here:

http://www.winsupersite.com/content1/tabid/2936/catpath/windows8/topic/woa-windows-8-arm-revealed-142242

Thanks.

-Phil

lainz

  • Guest
Re: gtk3 with lazarus
« Reply #12 on: February 12, 2012, 06:58:02 pm »
I see in other sites that Windows 8 ARM will support desktop, but not every desktop application.

http://www.winsupersite.com/blog/supersite-blog-39/windows8/microsoft-finally-explains-windows-8-arm-desktop-office-15-applications-included-142230

BTW if FPC can compile for ARM also need to be aproved in the Windows Store, something impossible?

So Custom Drawn can be usefull for desktop applications on x86 and x64, but not for metro applications and not for ARM desktop.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7630
Re: gtk3 with lazarus
« Reply #13 on: February 12, 2012, 07:33:26 pm »
Quote from: Ocye link=topic=15956.msg86550#msg86550
I'm afraid there will be not fewer good interfaces, as you suggest, but even more than today. And any solution should fit the OS theme perfectly....

Having lots and lots of interfaces might look only good, but then someone has to maintain all of those interfaces.

People also have to keep the various custom draw options up to date. The bits that change from release to release.

Quote
Things need to be implemented multiple times again and again. And they all get obsolete and need to be rewritten for the next sucessor.

But at least that is only on major changes. With custom drawn you possibly already have to make a lot of mods to look not too unnative due to relative minor changes (like a new windows version, an new default theme etc)