/srv/irclogs.ubuntu.com/2012/12/14/#ubuntu-unity.txt

=== _salem is now known as salem_
=== salem_ is now known as _salem
smspillazduflu: what's wrong with changing the if condition as I suggested in your MRQ ?06:25
duflusmspillaz: I could not see any way we could do so without regressing something. So regressing support for !XShape seemed least evil06:26
smspillazduflu: you didn't answer my quesiton06:27
smspillazas I mentioned, those if checks were only there for the !XShape case, so you should just be able to put them in an else block06:28
duflusmspillaz: Your suggested solution regressed something. I will have to review again to remember06:28
smspillazokay, keep looking into it06:29
smspillazBTW, the way the fake minimization code is supposed to work is that we change the input and bounding shape on the client window06:29
smspillazwhich is automatically updated to be reflected in the frame window06:29
smspillazso there shouldn't be any problems there - I tested the life out of it06:29
duflusmspillaz: Hmm, I think I was assuming XShape keeps working with fake-minimize, but obviously it does not (hence the bug)06:30
smspillazindeed06:30
dufluOk...06:30
smspillazuhh oh actually06:30
smspillazdepends on what you're referring to06:30
smspillazif the window changes shape while we've removed it, we automatically catch that and save the new shape, then restore the "null" input shape06:30
duflusmspillaz: Right, so there's still a risk in the old logic that a dead zone could appear... ?06:31
smspillazduflu: can you explain further?06:32
duflusmspillaz: I mean how do we not get an XShape while the window is fake-minimized?06:32
dufluJust pure luck that it does not resize during that06:33
smspillazduflu: we do get them06:33
duflu?06:33
dufluSo... the potential regression you raised is already an issue right now. Not a new problem06:33
smspillazI ... didn't raise a potential regression ?06:34
smspillazunless you're talking about the if (w->minimized ()) thing06:34
smspillazin which case, that's different06:34
duflusmspillaz: Ok, too confusing. I will implement your suggestion and see if anything breaks06:34
smspillazevidently so ...06:34
* duflu has had little sleep and so far today been too unwell to go get the food he needs for dinner. Not thinking well06:35
duflusmspillaz: How/why do we not get a shape during fake minimize?06:40
dufluIt hinges on that06:40
smspillazduflu: during the fake minimize ?06:40
smspillazduflu: unity is calling XShapeSelectInput (... NoEventMask)06:40
duflusmspillaz: Ok, ta06:41
dufluA simple explanation06:41
smspillazI believe we do that so that we don't get a feedback loop06:41
smspillazand call XSendEvent instead06:41
smspillaz(so we can tell when we shaped ourselves)06:41
dufluThough it means we have (already) some nasty assumption coupled to Unity06:41
smspillazinside of compiz ?06:41
dufluYeah06:41
smspillazwhat's the assumption ?06:42
smspillazthat we're not going to get a shape event ?06:42
dufluIf some other plugin implemented a fake minimize without disabling the shape then we'd have big problems. So we're assuming it is done along with XShapeSelectInput06:42
smspillaznot really06:42
smspillazso the only reason why we call XShapeSelectInput with NoEventMask in unity is because06:43
smspillazwe need to be able to tell the difference between when we shaped a window and when someone else did06:43
smspillazBUT compiz needs to know that the window was shaped06:43
smspillazso, in unity we call XSendEvent and send a fake ShapeNotify on that window06:43
smspillazand then compiz gets it shape event06:43
smspillazand when unity gets it, it can tell it was just the same one that it sent, because it checks the send_event field06:44
smspillazIt might be better to implement that through XNextRequest and checking the event serial06:45
smspillazbut it would be similar06:45
smspillazduflu: anyways, the bottom line is that when the window is fake-minimized, compiz should definitely get a shape event, because unity will have sent one06:46
duflusmspillaz: Right but we're relying on XShapeGetRectangles returning nInput = 006:46
smspillazindeed, and that will happen06:46
dufluOk06:47
smspillazbecause the window will have been shaped :)06:47
dufluI think it's ugly but want to minimize what gets touched right now06:47
smspillazthe current implementation? yes it is :)06:47
smspillazif I knew about XNextRequest and event serials when I wrote it I would have used that06:47
duflusmspillaz: Now the boundingShape is empty during minimize. So the window is missing during the minimize animation. That's why both the old code and my proposal has to treat bounding and input shapes differently :P07:13
smspillazduflu: right, we remove both shapes07:18
smspillazduflu: though, I would imagine the logic you'd use for both would be the same07:18
smspillazif !XShape -> assume both have one rect each07:18
smspillazif XShape -> query rectangles, apply to frame window07:18
duflusmspillaz: I will try hacking the old behaviour back in... fall back to the unshaped boundingShape if not available07:19
smspillazuh ?07:19
smspillazduflu: that doesn't make any sense to me07:19
smspillazall you want to do, is just, in the case that xshape is supported, query both the bounding and input shapes on the client window and apply them to the frame window respectively07:20
smspillazand if it isn't support, assume that the bounding and input shapes exactly match the window geometry07:20
smspillaz*supported07:20
dufluOk, I went too far down the track of cleaning up the whole function07:21
dufluShould just do what you mentioned07:21
duflusmspillaz: BTW, non-XShape seems to work much better if you set priv->[input]region = geom07:22
smspillazduflu: show me the change you've made afterwards just so I can see if we're on the same page07:22
smspillazduflu: at resizing? I would imagine so07:22
duflusmspillaz: I mean no gaps any more07:22
smspillazgaps ?07:22
duflusmspillaz: I think it improved https://bugs.launchpad.net/compiz/+bug/108719807:23
ubot5Launchpad bug 1087198 in Compiz "When XShape is disabled, many windows open with their contents partially missing on the right hand edge" [Medium,Triaged]07:23
dufluBut should double check07:23
smspillazah07:24
duflupriv->region = geom as the fallback looks like it might be more correct07:24
duflusmspillaz: With XShape, it still looks like you have to fall back for region, but never for inputRegion. You need to fall back for region to ensure the window is not blank during animation. And you can't fall back for inputRegion because doing so causes the dead zone bug07:32
smspillazah07:35
smspillazhmm07:35
duflusmspillaz: As the old code and my proposal do07:36
dufluSo a new proposal needs such an ugly inconsistency too07:36
smspillazduflu: I remember that unity removed both the input and bounding shape, but now that I think of it, that approach is probably incorrect07:37
smspillazit should just remove the former07:37
dufluGreat07:37
dufluSo both projects needs fixing07:37
smspillazthough I remember I had some weird side effects when I didn't remove both07:37
smspillaz(like with chromium for instance)07:38
duflusmspillaz: I've had enough for the year. Approving the revert and you think about proper fixes if you feel so inclined07:38
smspillazokay, have a good holidays :)07:38
dufluWell, enough of this issue for the year07:38
smspillazduflu: I remember when I first wrote the fake minimization code for unity, some of the xshape paths in the server were broken07:39
smspillazthat was fun07:39
smspillazduflu: the fact that the fake minimization code worked the whole time even though we didn't remove the bounding shape from the frame window certainly is telling though07:41
duflusmspillaz: My only real concern was you understanding that inconsistency. Now you do I think I can actually propose a super-fix07:41
smspillazduflu: a super-fix ?07:41
duflusmspillaz: It worked because of the copy-paste bug!07:41
smspillazwell, it didn't work *because of* it, it just meant that removing the bounding shape from the client window was largely ineffective anyways07:41
smspillazsince we don't unreparent fake minimized windows07:42
duflusmspillaz: I will propose something. Then you decide what to do with it07:42
smspillazduflu: what are you proposing ?07:42
duflusmspillaz: A rewrite of the function to cover all bases without reverting07:42
dufluMay as well I guess07:42
dufluJust won't respond to any reviews :)07:43
smspillazI'll give the unity thing a try in the meantime to see if the fake minimization code works the way I expect without removing the bounding shape07:43
duflusmspillaz: Don't worry too much. It sounds like there's no much support for keeping the Unity side much longer07:44
dufluNot sure07:44
Mirvok then, we'll aim straight to the compiz 0.9.7.12 (with unredirect enabled by default) for 12.0407:51
Mirvwhen we have it in the PPA, testing can commence :)07:52
Mirvenough workarounds, blacklists etc start to be in place07:52
smspillazduflu: actually now that I think of it, its probably because of the typo you identified that I had such wonky behaviour with applications that set the bounding shape07:53
duflusmspillaz: Yes. And if it wasn't for the slow resizing I would not have gone looking at XShape-related code :)07:57
smspillazduflu: if you're still around I've confirmed to have got fake minimization working without setting ShapeBounding with your fix applied08:15
duflusmspillaz: Only physically around. I suspect08:16
smspillazduflu: okay, I'll put both fixes in my experimental ppa08:18
smspillazso we can get some testing08:18
duflusmspillaz: I would prefer we just had a snapshot or icon for minimized windows and removed the complexity. But if the bugs are fixed then there's less argument for removing it08:24
smspillazduflu: live previews aren't really that complicated08:24
dufluNot now that we have spent several days over the past year or two fixing the bugs08:24
dufluBut removing complexity is about being nice to the future of humanity...08:25
smspillazwell, this is the first time we've had to touch the code in quite some time08:25
dufluYeah true. The pain of when it used to crash is still with me somehow08:26
smspillazduflu: that being said, I think compiz is the only WM right now that has a relatively bug-free implementation08:26
smspillazI remember mutter and kwin implemented it (in different ways) and it was a complete nightmare for them08:27
smspillazthey didn't use xshape, they used stacking tricks instead08:27
duflusmspillaz: I would not say that in too many public forums, given the resize/move performance and decorator glitches08:27
dufluBut it's improving a lot08:27
duflusmspillaz: Oh... relatively bug free live minimize preview... yes.08:28
smspillazduflu: well, my WIP change has been reported to completely eliminate movement perf problems for those who tested it :)08:29
duflusmspillaz: It was awesome on the old Atom08:29
smspillazI'm still letting it get more testing though just to see if there are any other weird corner cases08:29
duflusmspillaz: I think the Nexus 7 needs the move/resize improvements desperately. Have not tried them there yet I think08:30
smspillazduflu: BTW, the buffer_age stuff is awesome. I know glxgears is not a benchmark, but I get something like +200FPS08:30
smspillazcan't wait until its supported in other drivers08:31
duflusmspillaz: What is it relative to copy subbuffer?08:31
smspillazduflu: haven't checked08:31
dufluThe same at least I would hope. Maybe better because you can still use SwapInterval for concurrent rendering08:31
duflu(or on Nvidia, avoiding glCopyPixels)08:32
smspillazduflu: indeed08:32
smspillazduflu: I can check now if you want08:32
duflusmspillaz: Don't really want to know. I have too much to deal with yet08:33
duflutoday...08:33
duflusmspillaz: But you did get Phoronix excited08:34
smspillaz:p08:37
smspillazduflu: unity is still having an impact, even though I thought it did nothing when damage regions didn't intersect the shell08:37
duflusmspillaz: Yes I noticed a similar problem on the Nexus this week. I think it's paintDisplay'ing too much08:38
smspillazduflu: showRepaint says its damageScreening on every frame but that doesn't seem right08:39
duflusmspillaz: Very bad.08:39
duflusmspillaz: Look at r2872. It fixes flickering but maybe that's why I never had such a call in the original regionalDamage work.08:40
dufluLike something is getting queued in UnityScreen::compizDamageNux despite not intersecting08:42
smspillazduflu: the panel is redrawing on every frame08:42
smspillazbeing called from UBusServer::DispatchMessages -> OnBackgroundUpdate08:42
smspillazhow is our battery life /not/ screwed08:42
smspillazuhh right08:43
smspillazso ubus is spamming us every frame telling us the background color changed08:43
duflusmspillaz: What?!08:43
=== apinheiro is now known as apinheiro_afk
Mirvsmspillaz: yeah, really cool blog post09:21
=== duflu is now known as duflu|vacation
smspillazMirv: :)09:27
smspillazMirv: sadly, its still going to be slow on unity. The fact that we reverted regionalDamage and replaced it with (if something_nux_drawn) damageScreen (); means theres a feedback loop causing the screen to be damaged every frame regardless of whether unity drew09:27
smspillazI'm trying to see if we can unrevert that safely09:28
sil2100regionalDamage got reverted?09:30
didrockshey sil2100, do you have a little status now that you've merged some tests about which ones are still broken?09:37
sil2100didrocks: yes, one moment - I'll just fetch the list09:38
didrocksthanks ;)09:39
sil2100didrocks: so, currently from the latest test result, 2 test failures are probably gone for good, 2 are being worked on, 4 are actual regressions (;p) and one of them seems to be hm, a singular case I wasn't able to figure out09:40
didrockssil2100: so, we'll just have one remaining when then 2+4 are fixed? That's awesome \o/09:41
didrockssil2100: do you have time to track those and ensure it's done by end of next week? (not sure about your schedule and holidays)09:41
sil2100didrocks: yes! Well, I even think that one failed test will anyway not fail next time I hope, probably a single case of a failure due to 'bad luck'?09:41
didrockssil2100: let's see ;)09:42
sil2100didrocks: no problem, I hope to finish those till this EOW09:42
didrockssil2100: you rock! I won't be there next week, but just drop me an email if possible so that once I'm back from holidays, I don't bother you :)09:42
sil2100didrocks: I'm just doing some formalities regarding the compiz SRU for precise, like bug descriptions09:42
didrockssweet ;)09:42
sil2100didrocks: np! Will do so!09:42
didrocksthanks again sil2100, that's a life saver to have those tests running for stacks! :)09:43
axyzhello10:29
axyzcurrently, if I have let's say 4 skype (or any other app) windows opened, when i click on launcher i will see them arranged on the screen10:30
axyzi want to see only their titles, like in windows/kde10:30
axyzis this possible ?10:30
axyzanyone here ?10:34
sil2100smspillaz: hi, are you around ;) ?10:50
=== _salem is now known as salem_
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
fginthermhr3, ping14:15
mhr3fginther, pong14:15
fginthermhr3, I resolved the non-srcdir build issues in https://code.launchpad.net/~fginther/dee/add-code-coverage/+merge/139586, would you like to review?14:16
mhr3fginther, it was merged 5hours ago ;)14:16
fgintherackk! thanks. I should learn to refresh my web pages :-)14:17
=== rsalveti_ is now known as rsalveti
fgintherTrevinho, ping15:22
sil2100larsu: hi!15:28
=== dandrader is now known as dandrader|lunch
=== dandrader|lunch is now known as dandrader
=== sil2100_ is now known as sil2100
Trevinhofginther: hi16:36
fgintherTrevinho, can you recommend a reviewer for https://code.launchpad.net/~fginther/bamf/add-code-coverage/+merge/138590?16:37
Trevinhofginther: someone from distro, or I can do that16:39
fgintherTrevinho, I'm looking for someone familiar with bamf to make sure I've added coverage to the right places and didn't break any existing work-flow16:43
Trevinhofginther: well, I am familiar with it16:47
Trevinhofginther: quite EOW for me... But I'll try to give it a look on next days16:47
fgintherTrevinho, no rush. Thanks in advance16:48
=== gatox_ultra is now known as gatox
didrockssil2100: hey, before I'm going on holidays, do you have any good news on the test fronts?17:27
didrocksnow, the plumbings are connected here, so it's just a question to get the list of failure for indicators down to 0 \o/17:27
didrocksmterry: cyphermox: just confirming that I disabled the daily landing on purpose before going on holidays17:28
cyphermoxack17:28
mhr3didrocks, oh, you're leaving us already?17:33
mhr3didrocks, enjoy christmas then!17:33
didrocksmhr3: thanks a lot! will do, you too when you will be on holidays :)17:34
didrocks(still here for 30 minutes before holidays, finishing some catching up)17:34
mhr3didrocks, you're doing it wrong, no need to catch up before going away :P17:34
didrocksahah :)17:35
mhr3you need to catch up when you come back :)17:35
didrockswell, let's say it's to have *less* to catch up :)17:35
didrocksI see that seb128 is emptying his old emails to answer as well :p17:35
seb128didrocks, that's correct!17:36
mhr3i'm sure he just implemented a new bot! ;)17:36
didrocksheh17:36
didrocksmhr3: with what I received, it's very much possible :p17:36
mhr3you guys know that an intelligent system is just an aggregation of simple parts? one day lp will become self aware and it'll be because of your bots!17:38
didrocksheh ;)17:41
mterrywhoops, just missed didrocks17:49
alo21hi. When a new lens' idea could be imported into standard Ubuntu installation?18:16
gatoxhi, quick question...... unity is building in raring?18:27
gatoxwell...... i see it's building..... but i was looking for the recipe to see the dependencies listed there18:29
bregmagatox, if you want to see the Unity build dependencies for raring, look in lp:unity in the file debian/control ... they're listed under Build-Depends:18:59
gatoxbregma, thx... yes. i see the problem was i was based my recipe in an older debian/control it seems18:59
gatoxbregma, thx18:59
smspillazbregma: hey, how is it going? do you think I might be able to get some of the people on your team to do some reviews ?19:20
bregmaask bschaefer for reviews, but we've already got a big backlog and a lot of people gone for the holidays19:21
bregmaso don't get too impatient19:22
smspillazyeah I saw XD19:22
smspillazbregma: maybe someone should clean up the +activereviews page its getting a bit big19:22
smspillazjust reject everything that's not had any activity for > 2 months19:22
bregmaon my list, but, I'm supposed to be on vacation myself19:22
smspillazheh, I'm not supposed to be "working", though I do need a desktop that doesn't lag like crazy ... and now that I have some free time I felt like actually going and doing that :p19:23
smspillazsince everyone is so busy :)19:24
bschaefersmspillaz, you need a review?19:44
=== mhall119_ is now known as mhall119
=== hggdh_ is now known as hggdh
=== salem_ is now known as _salem

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