/srv/irclogs.ubuntu.com/2017/03/30/#ubuntu-unity.txt

=== maclin1 is now known as maclin
dandradertedg, can you tell me a concrete use case of that type-tagger scheme in UAL? In qtmir we happily wrap those classes and provide those tagged types as plain QStrings12:19
tedgdandrader: Sure, you can do that, but then you lose what they represent.12:24
tedgdandrader: They idea is that there is some information in the type that is more than "list of bytes" including how that data should be used.12:25
dandradertedg, that's accomplished by the getter/property/variable name12:25
tedgdandrader: Kinda? I mean you can still do "foo.setURL(foo.getName())" and not get an error from the compiler.12:26
tedgIt's not really "accomplished" it is more "can be discovered by"12:27
dandradertedg, but then if I wanna use foo.name() to compose a longer text for a window title bar, or even use it to compose a URL, I will have to pollute code with things like ".value()"?12:30
tedgdandrader: Yes, when you want to lose that information you have to do it explicitly instead of implicitly.12:32
dandradertedg, specially when ual users don't adopt ual custom-types in their own code, which I think is the common case12:32
dandradertedg, in my experience dealing with mir code that does the same thing, the end result is just code that is made way less readable as it's full of boilerplate to get work out this tagging12:33
dandradertedg, so you wanna help the developer but end up punishing him12:34
tedgdandrader: I think if you ask a Javascript developer they'd say the same things about type systems in general. But you might not agree with them. The question is how much power do you want your type system to have.12:35
greybacktedg: you're right, there's a balance. Balance not just of how correct your api will be in a type sense, but also in how easy your api is to use. The type system is great to prevent invalid operations, but you've got to give your api user some credit too.13:02
greybacklooking over ual's C++ api, I do think it is a bit type-heavy. Using types to distinguish different strings is a bit much imo13:04
tedggreyback: Sure, and I can see that. And there's also something to be said for consistent operation as well. Making just a few types not tagged would also be a PITA.13:44
dandradergreyback, Saviq, if an app has multiple instances and some of those got OOM-killed. Do we keep them around in unity8 so that they can be respawned when the user focus them?14:12
dandradergreyback, Saviq, does that make sense?14:13
dandraderI see the use case when you have, say, multiple webrowser windows. But that will only work if that webbrowser app is smart enough to resume the state it was in when it got killed. but even then you might still get them in a different order: ie page A gets resotred on page B placeholder and vice-versa14:16
=== dandrader is now known as dandrader|afk
tedgmterry: Can you refresh these two to trunk please? https://code.launchpad.net/~mterry/ubuntu-app-launch/persistentid/+merge/318682  https://code.launchpad.net/~mterry/ubuntu-app-launch/default-themes/+merge/31896515:17
tedgTrying to get a silo setup for after the libertine changes to UAL land.15:18
mterrytedg: I did persistentid this morning and just marked default-themes as rejected (already landed in larrypage work)15:21
tedgmterry: Sweet! Sorry, just haven't refreshed.15:22
mterrytedg: no worries!  Glad to see it might land  :)15:22
tedgYeah, so glad all the *major* UAL refactoring has landed. Now we can focus on getting all these little branches cleaned up.15:23
tedgHopefully we can get to enough of a lull to land the style formatter changes...15:24
=== dandrader|afk is now known as dandrader
=== JanC is now known as Guest23500
=== JanC_ is now known as JanC
=== dandrader is now known as dandrader|afk
=== pete-woods_ is now known as pete-woods
=== dandrader|afk is now known as dandrader

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!