/srv/irclogs.ubuntu.com/2016/09/01/#ubuntu-mir.txt

=== chihchun_afk is now known as chihchun
alan_gRAOF: are you about?07:24
RAOFalan_g: Yes!07:25
alan_gDo you have thoughts about the placement information we should share with clients?07:25
RAOFYes.07:27
RAOFFor the popup positioning case we need to tell them where (relative to the parent) we placed it.07:28
alan_gPolicy says we can't tell them screen position, information about avoiding edges could be used to probe this.07:28
RAOFSo they can render correctly.07:28
alan_gSo, you would send an "it's here" rectangle?07:30
RAOFThey *could* use this information to guess where their surfaces are relative to the edge of the screen, but there's nothing guaranteeing that we *only* move surfaces to avoid screen edges.07:30
RAOFI would send a ‘here's the top-left’ relative to your parent, because they already know the size, but an “it's here” rectangle would also be fine.07:31
alan_g@moving surfaces: lp:161681807:31
alan_gAck, we already send resize.07:32
alan_gSo a client could create a fullscreen surface, never paint it, and place everything WRT that.07:33
alan_gAnd know where all its "real" surfaces are07:34
RAOFCorrect.07:35
RAOFThat is an excellent bug!07:35
RAOFClients can even cut holes in their input surface to let input pass through, so a client drawing on a fullscreen-transparent surface can even behave semi-reasonably.07:36
alan_gI'm not sure The Architect would approve07:37
RAOFOh, a client doing that is transparently (hah!) unreasonable.07:38
RAOFBut it's not something we can easily forbid.07:38
RAOFIt's not (to my knowledge) a security problem, and it's not something normal clients would actually bother to do.07:39
alan_gIf it is not forbidden someone will rely on it.07:40
alan_gAny toolkit that assumes absolute co-ordinates can get them by a simple hack. That's easier than doing the "right thing".07:41
RAOFIs it simple? They need to construct a fullscreen window and then do all their drawing on it.07:43
RAOFAnd then they need to handle drags themselves by rendering their window in a different place on their fullscreen surface...07:44
alan_gNo, they just need create a fullscreen window and place every other window on it07:44
alan_gIf they never paint that root window it never affects input and never gets drawn07:45
RAOFIf they never paint it they never get to attach surfaces to it?07:45
RAOFAlso, you can only attach surfaces of type tip?07:45
RAOFAnd you can't morph tip→normal.07:45
RAOFTo be clear: you only get ‘here's the top-left’ when you're placing a surface relative to another, and you can't do that for most surface types.07:48
alan_g"most" being less than half of MirSurfaceType? ;)07:49
alan_gBut I see the point07:49
RAOFWell, you can't place normal surfaces or (I think?) anything that can morph to normal surfaces relatively.07:50
alan_gPlacement only works if there's a parent07:50
alan_gAnd we have rules for that07:50
RAOFI would also be happy to restrict placement to fully-constructed (ie: with content) surfaces.07:51
alan_gDoesn't really help: it can have a bufferstream with a single transparent(?) pixel07:52
RAOFIt then eats input.07:53
RAOFUnless it shapes that away, of course ;)07:53
alan_gAnd bufferstreams can be lightyears from the surface07:53
* alan_g isn't convinced by that "feature"07:53
RAOFgreyback wants them to be clipped to the surface.07:54
* RAOF shrugs. There are arguments either way.07:54
alan_gOK, I've got enough to start a thread in mir-devel07:54
alan_ggreyback *can* modify their placement in the window management policy07:55
RAOFHe shouldn't be able to.07:56
RAOFstreams are meant to be sub-WM.07:56
RAOFOr, rather, streams are meant to be invisible to the WM.07:57
alan_gThen please log a bug against MirAL to hide them there07:57
RAOFWill do.07:57
alan_gThanks07:57
RAOFalan_g: AbstractShell currently handles stream configuration itself; how does that interact with MirAL?08:03
alan_gWindowSpecification::streams()08:05
alan_gThe WM policy see that before passing the modification request to AS08:06
RAOFSo the flow goes frontend -> MirAL -> AS? OK.08:07
RAOFI hope bug# 1619165 is sufficiently useful?08:09
alan_gfrontend -> AS -> MirAL::BasicWM -> WM policy -> MirAL::BasicWM -> AS08:09
RAOFAh, in that case MirAL doesn't need to do anything. AS strips out stream configuration before passing the request on.08:10
RAOFSee AbstractShell::modify_surface.08:10
RAOFIt first checks to see if there's any stream configuration in there, then consumes and applies it.08:11
RAOFThen passes it on to the WM.08:11
RAOF(If there's anything left)08:11
alan_gHmm. That would be wrong too. I'll check later. (Must go right now)08:13
=== alan_g is now known as alan_g|AFK
* RAOF → EOD.08:14
=== Saviq_ is now known as Saviq
=== alan_g|AFK is now known as alan_g
alan_gRAOF: I know you're EOD, but, although AbstractShell::modify_surface() strips streams, AbstractShell::create_surface() doesn't. Which is inconstant at best.09:57
=== hikiko is now known as hikiko|ln
=== hikiko|ln is now known as hikiko
alan_ggreyback: attente this may interest you enough to vote - https://code.launchpad.net/~alan-griffiths/mir/support-gdk_window_move_to_rect/+merge/30447411:05
=== dandrader_ is now known as dandrader
=== JanC is now known as Guest23252
=== JanC_ is now known as JanC
mterryHello!  I'm getting an error on a branch that I tried to set approved, but when the CI built it: "Package 'uuid', required by 'mirserver', not found" -- known issue?13:55
mterryalf_: ^ this was on the default-wallpaper branch13:55
alf_mterry: Probably a problem in Mir trunk, I will take a look13:55
alan_galf_: mterry sounds like bug 161743513:59
ubot5bug 1617435 in mir (Ubuntu) "libmirserver-dev is missing a depends for uuid-dev" [Medium,Triaged] https://launchpad.net/bugs/161743513:59
alan_gFixed -r 367913:59
mterryalan_g: awesome looks right.  Only scheduled for 0.25 tho, wonder when that comes out.  In meantime, stuff isn't buildable14:00
alf_alan_g: right, although I think we missed a part of the fix, which is libmirserver-dev depending on uuid-dev14:00
alf_mterry: USC trunk builds against Mir trunk, so we don't have to wait for release to merge14:01
alan_g/o\14:01
alf_alan_g: :)14:02
mterryalf_: yes cool, and right on the missing Depends14:02
mterryalf_: indeed if we didn't build against Mir trunk, I guess I wouldn't have seen the error  :)14:02
alan_gwho wants to fix it?14:03
mterryI can whip up a branch, should be trivial14:03
alan_gthanks14:03
=== dandrader_ is now known as dandrader
mterryalan_g: https://code.launchpad.net/~mterry/mir/missing-uuid-dep/+merge/30464514:11
alf_mterry: alan_g: approved14:12
mterryalf_: awesome thanks.  Is there a way to fast track it to trunk to unblock other branches?14:13
alf_mterry: It should land within the next hour or so. If CI is being difficult we can merge manually.14:15
mterryalf_: oh nice, I'm not familiar with mir landings.  But I guess that makes sense if your trunk doesn't need to track archive14:15
mterryI was thinking a silo and all that jazz, but right, that's not needed14:16
mterryThanks14:16
alf_mterry: Actually for USC builds to use the new version it should land in the mir-staging PPA using our mir-daily recipe. To expedite, I will trigger the recipe after the fix reaches trunk. So I guess that's 2-3 hours total.14:18
mterryThat's no biggie.  Thanks14:19
alan_gkdub: satisfied? https://code.launchpad.net/~alan-griffiths/mir/support-gdk_window_move_to_rect/+merge/30447414:19
kdubalan_g, yes, thanks14:20
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== chihchun is now known as chihchun_afk
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
mterryalf_: do you have any idea why NestedServer.named_cursor_image_changes_are_forwarded_to_host would fail in the autoland run for the uuid-dev change?   https://mir-jenkins.ubuntu.com/job/build-2-binpkg-mir/2040/arch=amd64,compiler=gcc,platform=mesa,release=xenial+overlay/consoleFull18:43
kdubmterry, thats one of the tests that we've been having some problems with19:30
kdubyou can probably just ignore/retrigger, its a racy19:31
kdubhttps://bugs.launchpad.net/mir/+bug/152362119:32
ubot5Launchpad bug 1523621 in Mir "[ FAILED ] NestedServer.*_cursor_*" [High,In progress]19:32

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