View Single Post
Posts: 1,203 | Thanked: 3,027 times | Joined on Dec 2010
#11
Wrote out a reply earlier over 1-1.5hrs and posted but apparently it didn't work.

Originally Posted by freemangordon View Post
Oh, seems I was not clear - I don't want to keep hildon-desktop GTK2, rather move to GTK3, whilst keeping the other stuff intact in terms of functionality (as much as possible).
In terms of functionality, what specific bits do you care about the most? There is a massive commit in Cordia tree that removes deprecated items. As they were deprecated prior to their work I guess they chose to go ahead and remove them. Some of it I agree with, it makes some elements cleaner as a result (hildon-entry), but some of it I may look to reintroduce at some stage. I'm open to any suggestions.

The two parts causing problems I notice straight away are the FileChooser, not customisable unless you edit libgtk AFAIK and GtkCalendar supports displaying week numbers but not clicking to show week view, again AFAIK.

With regards to the code itself, the GTK touch patches are unnecessary and as a result mean a lot of libhildon needs reworking. mov_mode, toolbar editing need to be adapted to start. HildonPannableArea is the best example of how much can be stripped out and leave something that does the same job. If you had access to GtkScrolledWindow animate_to you could remove it completely and have two functions instead. Not even sure if TouchSelector is really needed but it's still in at the moment beacuse it is needed by some apps.

Hildon-Button and derivates also break compatibility as the fullscreen and halfscreen width feature is broken by the new height-for-width/width-for-height implementation.

I will warn that hildon-caption is having one of its broken spells at the moment (segfault). Seems to change everytime something else other than hildon-caption is changed! It needs reworking or replacing for GTK3 with a GtkBuilder ui based implementation as when it does work it only shows the child, not the caption so it is a little pointless.

Finally, hildon as it currently stands looks and feels slightly dated in terms of appearance and features. With GTK3 port I think we should address that where possible.

As the Cordia libhildon tree is IIRC pretty much up to date with the CSSU version, would it not be easier to take my version as a starting point and add the needed functionality back in as required?

I think the first stage should be to work out what functionality you feel needs to be in it. I started this as an experiment to see what is possible so new features or updated old ones are more than welcome. Up till now it has just been about me getting what we have available up and running. I don't have the same skills as you, Pali or some of the other CSSU/Maemo devs. I'm open to suggestions/fixes. I do have one minor request though, although Devuan doesn't use systemd, I want it to be an build option. For those who choose Debian/Arch/Whatever base I don't want them left out.

It might be that I am getting lost, but aren't we supposed to use matchbox as WM?
I tend to refer to the WM as hildon-desktop as we don't actually use the matchbox2 executable, just statically link the library.

My overall approach/thoery is to see where GTK Maemo would go after Fremantle. I refer to it that way here as the Qt introduction and subsequent chain of events in demonstrated by the UI evolution of the Qt/QML path from then on dealt with Harmattan and Sailfish. Same as the Meego switch to RPM instead of DEB (I only really have experience with Debian packaging anyway). My goal is about seeing what the evolution fo the GTK variant is. If they marked features as deprecated, I would like to try to honour that decision where possible. The MB>Mutter switch is part of a possible long term goal based on this but as Wayland doesn't support _NET_WM atoms AFAIK it is currently off the table, hence the St/GtkHeaderBar idea.

Hell, I'm not far off 100% deprecated feature free so maybe GTK4 and a GSK based WM is a future option
 

The Following 9 Users Say Thank You to Android_808 For This Useful Post: