View Single Post
Posts: 1,203 | Thanked: 3,027 times | Joined on Dec 2010
#4
Had a rubbish time lately at work so haven't wanted to do much at all when I get home. Mix that with Forza, Tomb Raider, too many new TV shows etc. and it explains a lot. The project isn't dead, just reallllyyy sloooowww.

This weeks activities have been focused on looking at future directions, as is the whole plan for this work. In particular this week has been Wayland. If libhybris is going to be the only way we can see Hildon on a future mobile device (Neo900 excluded), what do we need to change? Starting right from the top we can't even make a HildonWindow at the moment (xid, xatom). That's pretty easy to solve but the atoms are how matchbox knows to add window menu symbol to the title bar. Let alone the fact matchbox doesn't obviously support Wayland, but without it the majority of Maemo apps won't function correctly as they won't have a menu or stacked windows! This has led me to wonder what could we do to make libhildon not require window manager hacks? I quite like the idea of extending/ adapting weston's desktop_shell.

GTK3 3.10 introduced two features that I think *could* help the solution, GtkStack and GtkHeaderBar. The basic, non stacked window menus, just add a button to the header bar..done. GtkStackedWindow and friends are a little more involved. We could create a "base" window which just contains a GtkHeaderBar and a GtkStack. We remove the close button in header and replace it with a custom one so we can i) change the icon at will (arrow and cross) and ii) overide the action. The stacked windows would then just be the contents of the GtkStack. If the stack has >1 contents , show the back arrow, if it has 1 or none, show the close symbol and act accordingly. Each stack item can be named so we could listen to visible-child/ visible-child-name and set the main window titlebar or revert to the base window title if there is no name supplied. The menu would need a little work to show/hide button as needed but is doable.

Any thoughts or suggestions would be greatly appreciated.

That being said, I do not plan on abandoning the current hildon-desktop work. I will try to push some updates to git at some stage...honest. I've got several changes ready to upload, just need to commit them when I'm happy. Additionally I realised that as the project is based off the Cordia repo the work doesn't have any of the cssu fixes for the last few years. Libhildon is ok, but hildon-desktop and possibly matchbox, libhildondesktop etc have quite a few fixes not applied, some relevant, some not. I need to go through them at some stage.

Hildon-Desktop: The current repo version of hildon-desktop is missing a few changes in the task switcher that prevents it from working. I will say now before I even upload it that the commit for that is going to be a real mess. Why? That's the part where the clutter API we have in Maemo 5 has been replaced by an API that's been replaced at least once more for which there is very little in the way of working examples. There are 2/3 ways of achieving the same thing but short of reworking the entire file none are a perfect fit at the moment. There's a few samples in place in the code. I've been holding off on commiting anything for this reason but the current repo version is broken and I'm trying to consolidate 3 code bases (my test version, the repo version and a snapshot that I use with ArchLinux on the Eee when travelling) into just 1 to make it easier for me to work with.

LibHildon: HildonPannableArea has more old/unused code removed. There's a few fixes in my test code to replace some calls to stop GTK3.18 warnings.

Hildon-Desktop/ Matchbox: I've been playing with the idea of automatically displaying/hiding cursor based on last known input device. Plenty of examples out there (inc. Cordia). I have one test version but nothing to test it on yet.

Virtualbox: 5.16 requires 3D acceleration option to be disabled. Don't know what was changed but now all window contents are black. Hildon-desktop renders fine, the apps open with the buttons/textboxes etc are there and working but you can't see anything. It's also decided to no longer remember the size of the virtualbox window on each boot.
 

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