/srv/irclogs.ubuntu.com/2014/03/19/#ubuntu-mir.txt

kdubah, because right now the focus is tied to the z-order?00:00
AlbertAright00:00
kdublet me poke around...00:00
* mterry wasn't able to find something appropriate00:01
kdubmir::DefaultServerConfiguration::the_shell_focus_setter maybe00:01
kdubbut that might be something to fix in msh::DefaultFocusMechanism too00:02
kdubracarr_ ^^?00:02
mterrykdub, well.  I mean, sure.  I'm using focus to get at z-order (it's actually convenient that they're tied together now). But my goal is not to futz with the focus subsystem, but to avoid the flash of session1 when I'm trying to adjust z-order of sessions00:05
AlbertAdoes the focus change force show on the session?00:05
AlbertAmeaning have you tried session1->hide()00:06
AlbertAjust from poking at the source it doesn't look like it "unhides" it00:07
mterryoh hm, maybe...  let me try clever hiding/showing00:07
mterryAlbertA, unhides?00:08
AlbertAshows00:08
mterryAlbertA, ah the focus you mean00:08
AlbertAheh00:08
AlbertAright00:08
mterryAlbertA, let me play with hiding, good idea00:08
AlbertAthe focus change in DefaultFocusMechanism doesn't look like it messes with the show/hide state00:08
racarr_woah things happened00:22
racarr_*reads*00:22
racarr_I see.00:23
racarr_oh00:23
racarr_mterry left00:23
racarr_I think the answer is to overrride the focus setter...I dont understand00:24
racarr_exactly why00:24
racarr_you would focus 1 session then another but not want the 1st session to show up00:24
racarr_if it ust needs keyboard focus or something like that there is the mir::shell::InputTargeter00:24
racarr_Iunno.00:25
racarr_oh I see using focus to adjust the z order00:25
racarr_I think the answer is to use surface->raise ;)00:26
RAOFHeh.00:41
RAOFracarr_: Yo!00:41
RAOFYou in the mood for some cursory stuff?00:41
RAOFI Have Opinions!00:41
dufluAlbertA: Can you remember to set the Milestone and other details on bugs when you're working on them? Otherwise I have to play catch up and fix them every day :)02:09
AlbertAduflu: sure02:57
dufluAlbertA: Thanks. Don't be afraid to do project management stuff in Launchpad. It's really just a matter of whoever-notices-what-needs-fixing-first03:20
dufluRAOF: Any tips on my comment to https://bugs.launchpad.net/ubuntu/+source/unity-system-compositor/+bug/129450707:33
duflu?07:33
ubot5Ubuntu bug 1294507 in unity-system-compositor (Ubuntu) "unity-system-compositor crashed with SIGABRT" [Undecided,Invalid]07:33
anpok_resize events hmm08:08
anpok_they never seem to happen for the surface of a nested server08:10
anpok_duflu: can you give me a hint - when finger paint runs in nested, and the nested surface gets resized.. the finger paint surface is aligned bottom left..08:25
anpok_another thing I saw is that the gl_renderer in the nested server still assumes the same view port size08:26
dufluanpok_: Not sure. I suggest checking that you haven't accidentally dragged/moved the whole nested server surface inside demo-shell08:26
anpok_to circumveit that I injected a resize event to the client side surface when a different sized buffer arrives..08:26
anpok_checked that08:26
anpok_i do exactly that08:27
anpok_only move the nested server08:27
dufluanpok_: Still don't know :(08:27
anpok_I am verifing that co-ordinate transforms are now correct08:27
anpok_thats just a side issue now..08:27
anpok_I mean.. co-ordinates are correct, but mismatch with visaual placements..08:27
anpok_k08:27
anpok_will dig further..08:28
dufluanpok_: Obviously, test with development-branch and see if it has the same bug :)08:28
anpok_it has08:28
anpok_and other things08:28
anpok_now that I made the gl_renderer get the right view port rectangle the top left alignment is correct..08:29
dufluanpok_: That doesn't sound right. How is the viewport rectangle wrong?08:30
anpok_but the displayed finger paint surface seems to have increased in scale by the fraction the nested surface got resized..08:30
dufluanpok_: Sounds like you resized the nested server08:30
anpok_Yeah thats what I do08:30
anpok_(not supported?)08:30
dufluNever considered really08:31
dufluI guess coordinates could be wrong08:31
anpok_I resize the nested server surface to lik 50x50 .. and gl_renderer::set_view_port gets no call.. still assumes 0,0 1600x256008:31
anpok_or rtahter 2560x1600 or something..08:31
dufluanpok_: I was playing with set_viewport yesterday. It doesn't (yet) get called after construction. Sounds like we need to call it more/08:31
duflu?08:31
dufluFor the nesting case08:32
anpok_It gets called at construction.. but a resize of the nested server does not cause another renderer reconstruction08:32
dufluanpok_: If you can please isolate any fix for that bug from your other work08:32
anpok_hence it stays at initial size08:32
dufluYeah, sounds like a nesting-specific bug08:32
anpok_but I can pass the information from the resized surface through the nested output down to the renderer object08:33
anpok_that change enough for a MP?08:33
dufluanpok_: As small as possible is always best. If you can separate things then do08:33
anpok_k .. will check for scaling later08:33
dufluanpok_: And a bug report to describe the problem :)08:34
anpok_hehe08:34
anpok_thats the hardest part08:34
anpok_can you have a brief look at my branch .. hmm08:34
anpok_wait08:34
anpok_http://bazaar.launchpad.net/~andreas-pokorny/mir/add-geometry-transformation/view/head:/include/shared/mir/geometry/transformation.h08:35
anpok_It is lacking a better name..08:35
anpok_In a later MP I want to use that to do the co-ordinate transformations08:36
anpok_it allows us to avoid any calculations and still supports rotations scaling and so on..08:36
anpok_and makes it simple to make run time changes to them..08:36
anpok_brb08:37
anpok_I am no longer sure about the name..08:37
anpok_as I was about to add something like rectangle hit testing as a free standing function or method..08:38
dufluanpok_: Transformations are arbitrary so we should stop mentioning "rotate" or "scale" completely. Instead the code that needs those (render_surfaces) should just surface->set_transformation(some_matrix)08:39
dufluIt might be a good idea to replace set_rotation in our existing classes with set_transformation(). Now we can08:40
dufluanpok_: I was going to do it, but it would be awesome if you could generalize set_rotation() to set_transformation() and move the responsibility for creating the rotation matrix into render_surfaces08:57
dufluWoo... multi-monitor frame sync without framenos, on the way09:14
anpok_duflu: I wanted to do that with the help of transformation ..09:36
anpok_which I meant to become a generalization of surface positioning and transformation.. + the inverse ..09:37
anpok_doing the inverse on a matrix does take some more time and it does add some floating point error..09:38
dufluanpok_: Oh, I see now. The generic name confused me. It's more than just a transformation. Regardless, we need to remove all mentions of rotation and scaling from the existing surface classes. They should only know a single  "transformation" matrix09:38
dufluanpok_: We should also *never* need to invert. Matrices should be arranged such that you only try to invert orthonormal matrices (whose inverses are just transpose)09:39
anpok_yes, thats what I have been doing internally09:40
anpok_the intersting part will be to which surface interface the change should happen09:42
dufluanpok_: I'm running out of time before I have a family dinner to run to. But is the meaning of Transformation to join transformation() and size+position into one? If so then I get it but "Transformation" is a bad name09:43
anpok_sure09:45
anpok_I try to change my bio rythm09:45
anpok_go!09:45
dufluanpok_: I still suspect the whole exercise is a bad idea. You would have to integrate the whole display transformation into the input logic to get it right. Not just surface transformations. The display transformation will change at the Renderer level during some effects (in future)09:48
anpok_hm as you already said .. those changes are temporal09:49
anpok_thus .. if the effect is going to be persistent.. the input system needs to know about it..09:50
dufluanpok_: Yeah good memory. We could just block all input during such transformations because "we can't calculate it"09:50
dufluCompiz solves the problem by only supporting relative movement. It never needs or uses absolute coordinates09:50
anpok_i suspect shells would only use reasonable transformations in a persistent manner.. and thats the use case here..09:50
anpok_I dont think that solve anything.. since a relative movement on a transformed surface still needs to be transformed..09:51
dufluIt would be a lot less work. But also couldn't support touch09:52
anpok_i took care to not impose unnecessary calculations when dispatching input09:53
anpok_but measurements on n4 showed that the worst case isnt that bad either09:53
dufluanpok_: I suspect your super "Transformation" might not need to be a class. Maybe just a new function - surface::transformation_with_size_and_position()09:55
dufluAnd then I ran out of time09:57
mlankhorstRAOF: ping?10:10
RAOFmlankhorst: Pong?10:35
mlankhorstRAOF: oh less relevant now that I did the work myself, did you update mir for 10.2 snapshot-ish?10:37
RAOFmlankhorst: No, not since 10.1.10:38
RAOFThat area of the code shouldn't churn much, though?10:38
mlankhorstyeah I did some work in ubuntu+1, I'll push it soon :P10:38
mlankhorstit moved some crap to a vtable10:38
RAOFOh.10:38
RAOFWe should really get around to sticking the whole EGL platform stuff into loadable modules.10:39
mlankhorstor upstream it already10:40
RAOFWell, both, ideally.10:47
mlankhorststuffed it in ppa:canonical-x/x-staging10:51
anpok_alan_g: the issue from yesterday https://bugs.launchpad.net/mir/+bug/129461011:29
ubot5Ubuntu bug 1294610 in Mir "client attaching to nested server seems to freeze the VT" [Undecided,New]11:29
alan_ganpok_: I remember you asking about it11:30
anpok_no news.. so far.. I could not dig further. It is no issue on android11:30
anpok_I first have to improve my second terminal for debugging - that means replacing a hard disk..11:31
alan_gYeah, I usually ssh in from another box for this stuff. (And VT is only relevant to mesa)11:32
anpok_alan_g: not sure if you noticed from the scroll back I try to resolve a window placement issue with nested clients being resized.12:18
anpok_hm it might be a reasonable rare use case but we have it in the demos12:18
alan_ganpok_: I didn't. So that's with a client of a server_shell that's a client of a server_basic?12:20
anpok_two server shells and fingerpaint12:20
anpok_with a minimal change I made the nested shell become aware of a resolution change12:20
alan_gBut the hose server_shell will process the resize12:20
anpok_yes12:20
alan_g*hist12:20
anpok_means nested surface gets smaller..12:20
alan_g**host12:20
alan_gack12:21
anpok_but nested server still renders like full screen12:21
anpok_and also has view port set up like that ..12:21
alan_gI understand12:21
anpok_due to the way gl writes to the buffer it gets bottom left aligned and hence touched pixels do not match drawn pixels12:22
anpok_or rather touch co-ordinates that get proper transformed..12:22
anpok_maybe I just provide my change as a MP and we discuss that there12:22
anpok_i mean .. I think I need to do more .. like announce that the display output changed ..12:23
alan_gthat makes sense - but is this the most urgent thing to fix?12:27
anpok_alan_g: what is urgent?12:48
alan_ganpok_: The stuff needed for 14.04 touch12:51
=== alan_g is now known as alan_g|lunch
greybackalf__: hey, I'm running in multimonitor (MM) setup (just 2, not mirrored). But when I bring up mir_demo_server_shell, I get mirrored output. Is there a demo to test Mir's MM abilities?13:38
greybackalf__: never mind, found the CLI switch13:38
alf__greyback: mir_demo_server_shell --display-config sidebyside and you can try mir_demo_client_display_config to change config on the fly (see help for handled key events)13:39
alf__greyback: ok13:39
greybackalf__: thanks :)13:40
kgunngreyback: mterry alan_g|lunch ... so i'm following up on a request to think about making mir/unity-mir/usc one source tree, for the obvious reason it makes build/release life simple...but i think it's a bad idea (e.g. hard to quick release a unity-mir fix for instance)...thots ?13:42
greybackalf__: sorry, am idiot, but where do I see the mir_demo_client_display_config help? The --help switch (or -h) is ignored13:42
mterrykgunn, yeah, both unity-mir and usc often have feature/bug fix releases unrelated to mir13:43
kgunn..and the real answer is live with the release pain in order to drive us to a stable server i/f13:44
kgunnimho13:44
alf__greyback: it works for me :/13:44
greybackalf__: ah, I'm running it with sudo (since mir server root), and the --help switch seemed to be ignored13:45
alf__greyback: hmm...13:45
greybackkgunn: I'm against it. While yeah I do see the benefit for distro releases, I fear it'll give the appearance that Mir is Qt only. For nonQt users, do we add configure time switch to disable Qt (and thus unity-mir) at build time then? What if I want to make a unity-mir clone in GTK, where does my code best go?13:50
kgunnah nice point13:50
greybackkgunn: also, long term ambition is to get large chunks of unity-mir into Qt. The Qt guys were interested in supporting Mir, like it supports Wayland13:51
greybackso shoving that code directly into Mir just complicates that transition path13:51
kgunnack13:51
greybackkgunn: I was of the impression that the whole silo infrastructure was designed explicitly for this very problem anyway13:52
kgunngreyback: it is, altho only 1/2 way there...what's missing is a "dedicated silo" for us which is in the plans (e.g. what they call "airline" vs "train")13:53
greybackkgunn: I see. Then the airline sounds like the right way to go IMO13:55
=== alan_g|lunch is now known as alan_g
alan_g+113:58
kgunnthey've also taken one step closer...you can get around the "silo-ck" allowing you to build at will (but not land) when another person is trying to build/land in the same project13:59
kgunncause the silock is really where the pain (time delay) has been14:00
* alan_g wonders where we can find hosting to set up our own build system14:01
greybackalf__: I guess changing display resolution/refresh rate with xrandr doesn't impact the resolution Mir chooses14:11
alf__greyback: the display configuration is per VT so they act independently14:13
greybackalf__: aha14:13
alf__greyback: (assuming you mean mir in a VT and normal X in another, not talking about XMir)14:13
greybackalf__: correct assumption. Essentially I'm trying to set up my env so I can see the impact of the MultiThreadedCompositor, i.e. when the outputs have different resolutions. I guess I should see frame drops on the slower display14:15
greybackalf__: but xrandr depends on X. Know any way I can configure a display without X?14:16
ogra_fbset ?14:16
alf__greyback: Why do you want to configure a display manually? In any case, mir should be able to set the display configuration you want (perhaps need to hack the example code to do so).14:20
greybackalf__: both my displays run at about 60Hz, but my monitor can run at 75Hz with a lower resolution, so want to select that resolution for MIr.14:22
greybackI'll see what I can hack in14:22
alf__greyback: ok, that's possible, but it's not provided by default by mir_demo_client_display_config.14:23
greybackok14:23
alf__greyback: you need to set MirDisplayOutput::mode to the value you want (index of one of the modes available in ::modes[])14:25
greybackalf__: that's useful, thank you14:25
alf__greyback: sorry, that's MirDisplayOutput::current_mode14:26
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
kdubanyone else want to weigh in on https://code.launchpad.net/~kdub/mir/platform-specific-options/+merge/210500 ?15:58
* alan_g has said enough15:59
kdubalan_g, yeah, thanks for the reviews :)16:00
alan_gkdub: try alf__16:00
anpok_hm alan_g said that it only works if we ignore unknown options in mir server, is that still true?16:04
anpok_I thought this change now just exposes the underlying boost program options to combine them with the platform graphics options?16:05
kdubwe have to parse the options twice, once to get the right platform library name16:06
kduband the first parse just scans for the platform library name, so it ignores any other specified options16:06
* alan_g said that it only works *because* we ignore unknown command-line options16:06
anpok_ah because during the first scan we have those only supported by the platform.. and the then on second scan with the options from platform graphics we get could fail on unknown ones..16:09
anpok_do we care that about frequency of ABI breaks when we expose boost program options to the server<->platfrom graphics interface?16:09
kdubserver/platform abi moves in lockstep16:10
=== dandrader is now known as dandrader|lunch
alf__kdub: looking16:17
kdubthanks!16:17
=== dandrader|lunch is now known as dandrader
=== alan_g is now known as alan_g|EOD
racarr_mterry: Btw I saw your question yesterday after you left...you should be able to use surface->raise to set the Z orders20:10
racarr_so then you can use hide20:10
racarr_(which using focus to set z order will undo for you)20:11
mterryracarr_, well, I want to do it on a session level, but I suppose I could do it to each surface in session, and try to keep existing order internal of the session20:11
mterryracarr_, is that right, that focus calls show?20:12
racarr_mterry: Yes focus calls show20:21
mterryracarr_, ok, that would explain some flicker20:22
racarr_Is it possible for you to ust place them in depth appropriately as they are created20:22
racarr_you can set depth in PlacementStrategy20:22
racarr_bregma: So cursor fix is going to be a little longer probably so going to do the quick and dirty solution20:56
racarr_need to understnad a few details of the configuration for desktop preview20:57
racarr_what else is running under USC? I mean.20:57
racarr_IS greeter under USC? What about xmir?20:57
racarr_greeter isnt under USC presumably but does that happen if they install xmir?20:57
racarr_is that supported20:57
racarr_etc20:57
racarr_kgunn: ^20:58
kgunnrobert_ancell: ^ you know ?...in the context of unity8 desktop preview20:59
robert_ancellracarr_, kgunn, greeter is not running under u-s-c. LightDM launches a u-s-c for each Unity8 desktop session and it only runs the shell inside that21:00
racarr_hi robert_ancell!21:02
racarr_ok perfect21:02
robert_ancellracarr_, hey :)21:02
robert_ancellI don't know of the support status of xmir - we still have all the code in LightDM but you'd have to install the packages to enable it21:03
racarr_err hey wait21:03
racarr_if we launch a usc for each Unity8 desktop session21:03
racarr_and only run the shell21:03
racarr_why are we launching21:03
racarr_USC21:03
robert_ancellracarr_, because we need u-s-c as root and the shell as non-root21:03
racarr_oh of course lol21:03
racarr_Ok :D21:03
robert_ancellit's basically u-s-c "pretending to be an X server"21:03
racarr_(dealing with enabling cursor in desktop preview for context)21:04
robert_ancellyep21:04
racarr_Where does the bit that tells lightdm how to launch USC for the desktop preview21:04
racarr_look?21:04
racarr_will need to add a command line option there21:04
racarr_s/look/live/21:05
robert_ancellracarr_, the usc command line?  Or the bit that tells lightdm that a session should run in Mir?21:05
racarr_robert_ancell: the usc command line21:06
racarr_I mean the situation is ust we disabled the hardware cursor in USC for xmir so21:06
racarr_need to add a --enable-cursor to USC and21:06
racarr_have lightdm pass it21:06
racarr_for desktop preview21:06
robert_ancellracarr_, ah, ok. You need to edit src/unity-system-compositor.[ch] and add that as a property21:06
robert_ancelland set that property in src/seat-xlocal.c in create_unity_system_compositor()21:07
robert_ancelland then update in tests/src/unity-system-compositor.c to report that flag and then tests/scripts/*.conf to check for it21:07
racarr_err is this for desktop preview only though? dont want to pass --enable-cursor to XMir21:08
robert_ancellracarr_, is this the long term solution? Or should the shell be triggering / rendering the cursor?21:08
racarr_robert_ancell: Perhaps in the long term just the shell renders the cursor21:08
robert_ancellracarr_, we use src/seat-unity.c for "proper" Mir sessions21:08
racarr_perhaps as early as next week21:08
robert_ancellsrc/seat-xlocal.c is the traditional VT switched sessions21:09
racarr_xmir just disables it via cursor client API21:09
robert_ancellxlocal is a legacy name, we should really name it to seat-vt.c now21:09
racarr_but things are getting close on desktop release so just trying to take care of it...didnt realize it would involve21:09
racarr_so many changes to lightdm though...I was expecting some like21:09
racarr_u8-desktop-session.conf or something and I would just add an argument there21:09
robert_ancellracarr_, you can do that too21:10
robert_ancellby setting unity-compositor-command in the config21:10
robert_ancellit might interact with xmir seats though because that config is shared between the two21:10
robert_ancellracarr_, I can do the lightdm change if you want, it wont take long21:10
robert_ancellracarr_, but if you have this cursor client API, why not just enable it through that?21:12
racarr_robert_ancell: Ok if you dont mind that would be great :D Ill do the USC changes now...option will be --enable-hardware-cursor=on/off (default: off)21:12
racarr_robert_ancell: Oh because its not going to be finished until the next day or perhaps the day after that then21:13
robert_ancellok21:13
racarr_its gotten kind of large so will take a while to review21:13
racarr_then there is the whole landing cycle...21:13
racarr_and it could easily be 2 weeks before anything could use it I guess21:13
racarr_so starting to get concerned about desktop freeze21:13
racarr_robert_ancell: I guess just --enable-hardware-cursor to enable it21:17
racarr_omit to disable it is better21:17
racarr_no on/off aha21:17
robert_ancellyeah, I was worried about breaking older versions21:17
robert_ancellwill do21:17
racarr_robert_ancell: nvm I forgot how boost::option works it has to be --enable-hardwarecursor=on/1/true/whatever (I guess pass true)21:29
robert_ancellracarr_, lp:~robert-ancell/lightdm/usc-hardware-cursor21:29
racarr_but alse will still be the default so can still omit it21:29
robert_ancelloh, so I have to send --enable-hardware-cursor=true?21:29
racarr_yes...sorry21:30
racarr_https://code.launchpad.net/~robertcarr/unity-system-compositor/add-cursor-option21:33
racarr_bregma: kgunn: ^ these two branches should do it I guess21:33
racarr_maybe this is an appropriate situation for distro patching?21:33
bregmaI can't test anything until I figure out why Qt5.2 doesn't work on the desktop21:35
racarr_Ah of course21:35
racarr_any progress on that end?21:36
bregmaracarr_, nope, except I get it on all my machines :( and when running apps over ssh but not when I run apps from unity7, so I suspect it may have to do with Mir after all21:37
kgunnracarr_: robert_ancell ...thanks for sorting that out (and so freakin' quick :)21:40
kgunnrobert_ancell: btw, how the heck are you ?21:40
robert_ancellkgunn, doing well, yourself?21:40
robert_ancellnice location for the next sprint :) Will be good to catch up with all21:40
racarr_yes thanks for help robert_ancell  :)21:40
racarr_I know right? When kgunn said it might be something exciting21:41
racarr_I kind of assumed that was a oke and we were going to Boston21:41
racarr_:p21:41
kgunnrobert_ancell: good, if we could just get the spring weather to stick in texas...it keeps freezing every few days21:41
kgunni know...its cool enough i'm gonna have my wife join for some time after the sprint21:41
robert_ancellI have a feeling a lot of the company will be taking holidays around this sprint21:43
racarr_RAOF: Ping?22:12
racarr_ or perhaps pong technically22:13
racarr_brb in 10.22:20
racarr_back22:35
RAOFracarr_: Pong!22:37
RAOFracarr_: You're thinking cursors?22:41
racarr_RAOF: Yes. and wondering wwhat you were thinking22:43
RAOFCool.22:44
racarr_as to the small bits that were on launchpad...uh22:44
racarr_it was a mild hallucination that doing it per connection was going to be easier and also a useful step towards per surface so I ust imagined doing that first22:44
RAOFHah!22:44
racarr_but have now decided it was silly and am on to mir_surface_set_cursor22:44
racarr_and um...22:44
RAOFIt probably _would_ be easier to do per-connection :)22:44
racarr_well but you have to write code that ends up not being useful22:44
racarr_so its pretty pointless22:44
RAOFYeah.22:45
RAOFIt's not a step towards per-surface cursors, which is what you need.22:45
racarr_Also re:create_hardware_cursor22:45
racarr_and unique/shared here it actually is shared22:45
racarr_with the GBM::Display which manipulates it in case of pause/stop, etc.22:45
racarr_which is mostly why it hasnt been moved to some more appropriate place of allocation yet22:45
RAOFUrgh.22:46
racarr_err pause/resume22:46
racarr_to restore the position iirc22:46
RAOFYeah, because it's all wrong! :)22:47
racarr_lol22:47
racarr_what are your thoughts :D22:47
RAOFSo, what I think should be the final state is: The cursor is a renderable in the scene, and the compositor is responsible for getting it on the screen.22:48
RAOFUnder GBM the compositor will check if the topmost renderable in the scene is (a) the existing hardware cursor or (b) usable as a HW cursor, and do the API twiddling necessary.22:49
racarr_ok22:49
RAOFUnder Android the HWC machinery will translate into basically a HW cursor anyway22:50
racarr_Yes22:50
RAOFSo I think all the Cursor API wants to be is basically a pointer at a specific renderable.22:50
racarr_hmm well I mean22:50
RAOFIf we want a server cursor API at all, I guess?22:51
racarr_it seems like it still needs to be promoted to the server configuration and22:51
racarr_from the perspective of mg::Cursor22:51
racarr_RAOF: Well we are baking window management in to mir22:51
racarr_so the surface cursor selection has to work by default22:51
racarr_and input should be hooked up to the cursor, etc22:52
RAOFOh, yeah.22:52
RAOFThat was just rambling as to what extent we need a Mir-private Cursor API.22:52
RAOFOr whether the various bits could just prod the relevant Renderable.22:52
RAOFIt's probably cleaner to have an actual interface to prod, though.22:53
racarr_hmm22:54
racarr_yes it is for tests22:54
racarr_at least22:54
RAOFRight.22:54
racarr_its nice for example in the tests im doing to ust mock the_cursor on the server side22:54
racarr_and expect that set_image is called various ways as22:54
racarr_I generate motion events22:54
racarr_etc22:54
RAOFYeah.22:54
racarr_so, it should also be a renderable though22:55
racarr_and rather than this whole weird bit where22:55
racarr_the GBMDisplay holds on to it and22:55
racarr_such22:55
racarr_the default shell becomes responsible for putting it in the scene I guess?22:55
RAOFRight.22:55
RAOFI think so, yes.22:55
RAOFUnless we want to bake in ‘the cursor is always on top of everything’.22:56
RAOFWhich I'm ambivalent about.22:56
racarr_mm I mean maybe its the deault shell, deault server configuration22:56
racarr_somewhere there is a line that is like hey take the_cursor and put it on the_top_of_everything22:56
racarr_lol Mir::DefaultServerConfiguration::the_top_of_everything22:56
racarr_that seems like a good interface22:57
RAOF:)22:57
RAOFI think having it default to on top but overridable in the same way we let everything be overridable is correct.22:57
racarr_ok  I think that makes sense. I think I can do that when I implement a software cursor22:58
racarr_I want to finish this client API/theme loader stuff first22:58
racarr_its gotten kind of large diffish lol22:58
RAOFYeah, theme loader stuff is a reasonable first step.22:59
RAOFThat way we can actually load different cursors :)22:59
racarr_Im hoping to finish the client API bits and the cursor changer response to input thingamawidget tomorroww so thatw23:01
racarr_we can at least enable/disable cursor and use that for xmir/desktop preview23:02
racarr_then will finish the theme loader branch by friday23:02
RAOFYeah, would be nice.23:07

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