[00:26] <rottinrob> evening everyone
[00:40] <mhall119> man, this X-Type is addictive
[00:40] <mhall119> I'm not sure how, but I got it scales up to the screen size
[00:40] <mhall119> no sound though
[00:40] <mhall119> but I'm like 10 levels into it
[00:52] <mhall119> glad I didn't install this during work hours :)
[00:53] <AskUbuntu> UBUNTU CAN PROVIDE IDE FOR C,C++ PROGRAMMING | http://askubuntu.com/q/355601
[03:02] <linfeng_> Hi all, is there anyone familiar with rdesktop?
[03:03] <linfeng_> ping?
[03:05] <linfeng_> I run into a problem that after updating of hardware and software of my box, my rdesktop app becomes a very poor performance.
[03:05] <linfeng_> And after a long way of debug, I found that the glyph drawing module costs a lot of time, the cpu usage of which is alway 100%.
[03:05] <linfeng_> Then I add XSync() and timestamps for the suspicious X functions to get the executing time separately, it shows that XFillRectangle()
[03:05] <linfeng_> takes a long time to finish, which is abnormal. Following is the consuming time(unit: ms) of the suspicious X functions:
[03:06] <linfeng_> target box:
[03:06] <linfeng_> cnter 4808(), flush time op1 56, op2 51, op3 3440[x1 302, y1 952, w 8, h 10]
[03:06] <linfeng_> mylaptop for comparing:
[03:06] <linfeng_> cnter 7745(), flush time op1 14, op2 12, op3 15[x1 153, y1 697, w 2, h 7]
[03:06] <linfeng_> PS: op1 op2 op3 represent to XSetStipple() XSetTSOrigin() XFillRectangle() separately, following is the debuged codes:
[03:06] <linfeng_> --------------------------------------------------------------------------------
[03:07] <linfeng_> #define DO_GLYPH(ttext,idx) \
[03:07] <linfeng_> XSetStipple(g_display, g_gc, (Pixmap) glyph->pixmap);\
[03:07] <linfeng_> XSetTSOrigin(g_display, g_gc, x1, y1);\
[03:07] <linfeng_> FILL_RECTANGLE_BACKSTORE(x1, y1, glyph->width, glyph->height);\
[03:07] <linfeng_> #define FILL_RECTANGLE_BACKSTORE(x,y,cx,cy)\
[03:07] <linfeng_> { \
[03:08] <linfeng_> XFillRectangle(g_display, g_ownbackstore ? g_backstore : g_wnd, g_gc, x, y, cx, cy); \
[03:08] <linfeng_> --------------------------------------------------------------------------------
[03:08] <linfeng_> It seems that the video driver(or the Xorg) doesn't work well with the target cpu for some X functions and in this case is XFillRectangle().
[03:08] <linfeng_> But now I can't change the hardware or the fundamental software such as Xorg, video driver, so is there someway that I can improve my
[03:08] <linfeng_> rdesktop's glyph drawing module? Since XFillRectangle() takes a long time, I want to call it as less as possible, for example for a screen
[03:08] <linfeng_> of glyphs to draw, can I cache the XSetStipple() XSetTSOrigin() and call XFillRectangle() only once?
[03:09] <linfeng_> Finally I'm not familiar with Xlib so seek help here. Thanks in advance :)
[03:14] <linfeng_> Anyone can help me? :)
[03:53] <Mirv> linfeng_: sorry, too low level for me. I did use X directly at a time for a home screen / screen lock program on Openmoko but it was awful trial-and-error ;)
[03:55] <linfeng_> haha, thanks your reply. I guess that we can play some tricks on this if someone is familiar with Xlib ;-)
[07:25] <dholbach> good morning
[08:11] <JamesTait> Good morning all; happy World Post Day! :-D
[08:17] <linfeng_> Hi morning
[10:20] <daker> mhall119: which version are you running ?
[10:26] <daker> oSoMoN: the game is packaged now and available on the store
[10:28] <oSoMoN> daker: awesome, I’ll check it out right away!
[10:28] <oSoMoN> daker: what’s the name again?
[10:28] <daker> oSoMoN: X-Type
[10:28] <daker> oSoMoN: but popey found some issue with the webview not scaling http://popey.com/~alan/device-2013-10-08-231347.png
[10:29] <daker> but on mhall119's phone it's works perfectly https://plus.google.com/109919666334513536939/posts/DVQ8QvJZTPW
[10:31] <daker> i did submit another update yesterday(still waiting review), i did remove the flickable but not sure what's causing that https://bazaar.launchpad.net/~daker/+junk/x-type/files
[10:44] <oSoMoN> daker: I’m seeing the same issue as popey
[10:44] <daker> oSoMoN: on a phone ?
[10:44] <oSoMoN> daker: yep, on a galaxy nexus
[10:46] <daker> oSoMoN: is the flickable cause ?
[10:46] <daker> the*
[10:47] <oSoMoN> daker: I don’t think so, it looks to me like a DPR (devicePixelRatio) issue, let me dig a little
[10:47] <oSoMoN> daker: btw, in https://bazaar.launchpad.net/~daker/+junk/x-type/view/head:/click/x-type.qml, since the webview is anchored to its parent, specifying its width and height is useless
[10:49] <daker> oSoMoN: the code your are running on the phone is with the flickable, the code on the branch is still waiting review on the store(without the flickable)
[10:49] <oSoMoN> daker: ah, got it
[10:49] <oSoMoN> daker: why the flickable?
[10:50] <daker> oSoMoN: i did create an HTML5 touch UI on qtcreator
[10:52] <oSoMoN> daker: if I set "experimental.devicePixelRatio: 2.0" on the webview, I get the game fullscreen
[10:53] <oSoMoN> daker: problem is, the DPR is device-dependent
[10:53] <daker> oSoMoN: :(
[10:54] <oSoMoN> daker: also, the game becomes super slow when fullscreen, and the hud icon gets in the way when using the controls because it thinks I’m dragging the toolbar up :/
[10:55] <daker> oSoMoN: how do you explain this https://plus.google.com/109919666334513536939/posts/DVQ8QvJZTPW ?
[10:56] <oSoMoN> daker: must be on a nexus4
[10:56] <oSoMoN> daker: which is a faster device
[10:58] <oSoMoN> daker: the value of the dpr should be set from the value of the env var QTWEBKIT_DPR
[10:58] <oSoMoN> daker: unfortunately you’ll need a minimal C++ wrapper to do that
[10:59] <oSoMoN> daker: see how it’s done here: http://bazaar.launchpad.net/~phablet-team/webbrowser-app/trunk/view/head:/src/app/webbrowser-app.cpp#L36
[10:59] <daker> oSoMoN: ok, so not an easy task
[10:59] <popey> daker: i tried on a nexus 4 and nexus 7
[10:59] <popey> gave you two screenshots last night
[11:00] <daker> popey: ya it's works for mhall119 https://plus.google.com/109919666334513536939/posts/DVQ8QvJZTPW
[11:00] <popey> yeah, i saw
[11:00] <oSoMoN> daker: I’ll file a bug to ensure that the default dpr is correct when using an UbuntuWebView
[11:00] <popey> dunno why it works for him and not me
[11:01] <daker> oSoMoN: ok
[11:10] <daker> oSoMoN: let's say when drp bug is fixed, if i use Ubuntu.Components.Extras.Browser i'll be able to override the UA ?
[11:10] <oSoMoN> daker: I think so, let me check
[11:13] <dholbach> daker, I just saw your X-Type upload - it seems like there's no compiled code in the click... do you think you could set the architecture to 'all' instead?
[11:13] <dholbach> daker, that way it'd be available for all architectures
[11:14] <dholbach> not that it makes a huge difference right now anyway
[11:14] <daker> dholbach: ok, don't approve that update now, it will need some adjustment
[11:15] <dholbach> daker, gotcha, I'll comment on it
[11:16] <dholbach> popey, not sure if you saw that in your review yesterday ^
[11:16] <dholbach> popey, not a big deal, just mentioning it
[11:17] <oSoMoN> daker: mmm, this is embarrassing, it looks like it’s not going to work, I’ll file a bug and fix this too
[11:17] <daker> oSoMoN: no worries :)
[11:17] <popey> dholbach: i accepted because it passed the tests
[11:18] <popey> dholbach: I wasn't aware we had to do additional checks over and above what the check script does.?
[11:18] <dholbach> popey, there's no test for that bit it seems - I just noticed it right now and thought I'd bring it up
[11:18] <popey> ok
[11:23] <dholbach> popey, filed bug 1237356
[11:23] <ubot2`> Launchpad bug 1237356 in Canonical Click Reviewers tools "Add check for unnecessarily specified architecture" [Undecided,New] https://launchpad.net/bugs/1237356
[11:32] <jppiiroi1en> t1mp: o/
[11:33] <t1mp> jppiiroi1en: did you really cut your hair?
[11:33] <jppiiroi1en> :D
[11:33] <jppiiroi1en> just my mustache ;)
[11:33] <t1mp> ahh ;)
[11:34] <t1mp> jppiiroi1en: and did you lose your superpowers because of that?
[11:34] <jppiiroi1en> must be! ;)
[11:43] <oSoMoN> daker: I fixed the DPR issue: https://code.launchpad.net/~osomon/webbrowser-app/dpr-in-plugin/+merge/190096
[11:44] <daker> oSoMoN: \o/
[11:46] <oSoMoN> daker: on to the UA override issue, https://bugs.launchpad.net/webbrowser-app/+bug/1237365
[11:47] <ubot2`> Launchpad bug 1237365 in webbrowser-app "Client application using an UbuntuWebView can’t override the UA string" [Undecided,New]
[11:48] <daker> oSoMoN: thanks!
[11:53] <GuidoPallemans> jkeyes0: have you seen rottinrobs progressions?
[11:59] <mihir_> oSoMoN: ping !!
[11:59] <oSoMoN> mihir_: pong
[12:00] <mihir_> oSoMoN:  i just did push for Edit event..if you could test it it would be great :)
[12:00] <mihir_> oSoMoN: link :- https://code.launchpad.net/~mihirsoni-123/ubuntu-calendar-app/editEvent/+merge/190106
[12:00] <oSoMoN> mihir_: going to lunch now, will test when I get back
[12:00] <mihir_> oSoMoN: no issues :)
[12:11] <jkeyes0> GuidoPallemans: I looked at them yesterday, yes.
[12:14] <GuidoPallemans> have you got that application to work?
[12:14] <GuidoPallemans> with me, it shows the ui and then spits out some errors when I try to connect
[12:14] <GuidoPallemans> jkeyes0: ping
[12:25] <jkeyes0> GuidoPallemans: same here. complaining about the nsClient ID, if I remember right.
[12:25] <GuidoPallemans> yup
[12:25] <GuidoPallemans> seems like he got his imports wrong or something
[12:25] <GuidoPallemans> or just committed half his work
[12:27] <jkeyes0> which is pretty much where I was with my own stuff. I brought in the evernote JS sdk, was able to access the Thrift portions of the SDK, but nothing else. NoteStoreClient said it was undefined
[12:28] <GuidoPallemans> yeah, but I don't see where he would get the type Notestoreclient from
[12:40] <jkeyes0> I didn't see anything in his code actually telling it to pull in the SDK, so yeah, it may just be a half-complete idea at this point.
[12:58] <mihir_> nik90: is there any easy way to change SDK back call ?? from toolbar ??
[13:00] <nik90> mihir_: not that I know of..I am assuming you are referring to a pagestack
[13:00] <mihir_> yeah i know pagestack but I want to change the pagestack of BACK action
[13:01] <nik90> mihir_: I can think of reasons why you might need that..but not sure how that can be implemented
[13:02] <nik90> mihir_: although may be you could check the depth of the pagestack and then if the depth is a certain number, do a special action
[13:02] <mihir_> nik90: okay I shall try that :)
[13:27] <mhall119> daker: I got it to scale to fit if I rotated my phone to landscape and then back to portrait
[13:28] <daker> mhall119: ahahh
[13:40] <oSoMoN> mihir_: I’ve started looking at your MR, unfortunately something urgent came up so I’m switching context, dunno if I’ll be able to get back to it today
[13:40] <oSoMoN> mihir_: if you can find someone else to review, it might be faster (otherwise I’ll get back to it tomorrow for sure)
[13:44] <mihir_> oSoMoN: Okay I'll wait for someone :)
[13:44] <mihir_> oSoMoN: if it is still unreviewed then you can take it up..as we have to finish this
[13:45] <oSoMoN> mihir_: will do, sorry about that…
[14:06] <dholbach> mhall119, I guess on http://developer.ubuntu.com/apps/qml/overview/ the "Now you’re all set to start writing a phone app." link should go to the tutorial?
[14:06] <dholbach> right now it goes to an anchor on the same page
[14:15] <mhall119> dholbach: makes sense
[14:15] <mhall119> the anchor looks leftover from the old get-started page
[14:15] <dholbach> ok, I'll fix it
[14:16] <dholbach> ah, you're looking at it right now too :)
[14:17] <mhall119> yeah
[14:18] <mhall119> I changed the link before I realized you were on the edit page, hope I didn't overwrite your changes
[14:19] <dholbach> no, it's all good :)
[14:19] <dholbach> thanks
[14:36] <danielholm> hi, if I have a ListeModel, which is delegated, and in this delegation I have a button to show something, how do I also stop showing that same thing if its already showing in another item from the delegation? I only want the thing to be visible at one item at them time
[14:38] <popey> danielholm: https://code.launchpad.net/~tiheum/ubuntu-themes/new_icons/+merge/189904 icons you were looking for?
[14:46] <oSoMoN> bfiller: that’s the MR that adds the screenshot for the browser: https://code.launchpad.net/~osomon/webbrowser-app/screenshot/+merge/190043
[14:49] <bfiller> oSoMoN: ack
[17:44] <balloons> ahayzen, ping
[17:44] <ahayzen> balloons, pong
[17:44] <balloons> ahayzen, I'm working on trying to land your branch now
[17:44] <ahayzen> balloons, i just did a merge of trunk on mine if tht helps as i saw lots of new stuff landed today
[17:44] <balloons> ahayzen, things are running locally and in the vm, but there's some tweaks needing to be done
[17:45] <balloons> ahayzen, yes I regrabbed your branch and it had a conflict
[17:45] <balloons> ahayzen, https://code.launchpad.net/~nskaggs/music-app/new-toolbar-autopilot/+merge/190201
[17:45] <ahayzen> balloons, cool
[17:46] <balloons> ahayzen, I just kept your version of the file, but if you have a proper merge I'll take it :-)
[17:46] <balloons> ahayzen, it was MusicAlbums.qml
[17:46] <ahayzen> balloons, i think this is up to date now https://code.launchpad.net/~andrew-hayzen/music-app/toolbar-rewrite-1/+merge/188917
[17:46] <ahayzen> balloons, yep they are using sheets now
[17:46] <balloons> ahayzen, perfect I'll modify off that then
[17:46] <ahayzen> balloons, thanks
[17:51] <balloons> ahayzen, is there an activity indicator for the startup/
[17:51] <ahayzen> balloons, there is a spiny thing i think it is an activity indicator
[17:51] <balloons> yes, exactly :-) ty
[17:52] <ahayzen> balloons, there is also a property u can use to tell when grilo has finished
[17:52] <balloons> basically we need to add something to wait for the app to finish loading
[17:52] <ahayzen> balloons, griloModel.loaded will tell you when grilo has finished... let me check how the activity indicator works
[17:53] <balloons> ahayzen, it has a .animating property I believe
[17:53] <ahayzen> balloons, there is a Timer { id: timer } which sets it to invisible
[17:54] <ahayzen> balloons, my branch just passed Jenkins!
[17:54] <ahayzen> balloons, also not tht the listviews are loaded in a background worker thread
[17:54] <ahayzen> *note
[17:55] <balloons> ahayzen, :-) We should still make these tweaks to make it more robust
[17:56] <ahayzen> balloons, :)
[17:57] <ahayzen> balloons, shall i put my branch to WIP or comment failed so it doesn't get merged/top approved by someone else yet?
[17:57] <balloons> ahayzen, since I want to make the changes, perhaps we let yours merge, and then I'll merge mine after
[17:57] <ahayzen> balloons, ok cool
[17:58] <balloons> I top approved
[17:58] <ahayzen> :)
[17:58] <balloons> it'll just be easier.. GIANT merges are no fun
[17:58] <balloons> easier to keep them smaller and saner
[17:58] <ahayzen> hehe then u get giant merge conflicts :)
[17:58] <balloons> right. Ok, so I'll keep tweaking this and update my mp and we'll get that merged also.. that should fix us :-)
[17:59] <ahayzen> balloons, awesome thanks for ur help with this
[17:59] <balloons> you are most welcome.. music has been quite a bit of fun as of late, heh
[17:59] <ahayzen> yeah we've had alot to do
[17:59] <balloons> the app has come a long way, and the challenges while annoying at times are worth it ;-)
[18:40] <balloons> ahayzen, you still there?
[18:40] <ahayzen> balloons, yep :)
[18:41] <balloons> ahayzen, ok, so lots of fun stuff. So it looks like you moved the title and artist listings. what qml page they on tnow?
[18:41] <ahayzen> balloons, wht do u mean by title and artist listings?
[18:41] <balloons> you leave the mainview now when you play a song
[18:42] <ahayzen> as in u go to the now playing page?
[18:42] <balloons> ahayzen, yes.. musicnowplaying.qml I'd guess. I need to check the currently playing artist property
[18:43] <ahayzen> ah tht was on the main somewhere hang on
[18:43] <balloons> it was.. did it change?
[18:43] <balloons> I mean, it had to have, lol.. the screen changes now
[18:44] <balloons> mm..     property string currentArtist: ""
[18:44] <ahayzen> mainView has currentArtist and currentTitle?
[18:44] <ahayzen> currentTracktitle not currentTitle
[18:45] <ahayzen> they get set in updateMeta()
[18:46] <balloons> hmm
[18:54] <timppa> hi, can someone give me any hints on debugging why my app does not open after upgrding to latest ro image
[18:54] <timppa> ?
[18:54] <timppa> it does  work with surfaceflinger but not with mir
[18:57] <timppa> also it seems that SDK does not work when you try to run app on device
[19:00] <balloons> ahayzen, ok I think it's all set: https://code.launchpad.net/~nskaggs/music-app/new-toolbar-autopilot/+merge/190201
[19:01] <ahayzen> balloons, awesome :)
[19:04] <ahayzen> balloons, u need me to approve?
[19:04] <balloons> ahayzen, yea, have a look over things if you don't mind
[19:04] <ahayzen> :)
[19:08] <mhall119> beuno_: why did you leave "Noise." as feedback on my app?
[19:09] <beuno_> mhall119, sorry, we updated something somewhere we weren't suppose to, and it was the cheapest way to get rid of these apps in the review queue
[19:09] <mhall119> ah, ok
[19:10] <bueno> mhall119, and because I missed you a bit
[19:10] <mhall119> liar
[19:10] <mhall119> :)
[19:10] <bueno> should of said that first
[19:11] <mhall119> it usually works better to start with the lie, yeah
[19:11] <ahayzen> balloons, i've approved ur branch... top approve it when ur happy and want it to land :)
[19:13] <balloons> ahayzen, ty.. woot!


[00:13] <manko> hey guys just installing lubuntu
[00:13] <manko> :D
[00:20] <phillw> manko: good to hear, for general chat just pop onto #lubuntu-offtopic, we even allow the devs on there ;)
[00:22] <manko> np :D
[05:10] <riddler> hi guys
[05:11] <riddler> I have lubuntu installed, but I would like other distro in my laptop like PuppyLinux or sLiTaz, but I want it so that the grub is in lubuntu
[05:14] <Unit193> Just don't install grub when you install the other system and run os-prober in lubuntu
[05:15] <riddler> oh ok, and how do I do that?
[05:15] <bioterror> sudo os-prober
[05:17] <riddler> that will automatically show grub2 when i restart comp, and then when  i decided to remove other distro, it wont mess up the boot rite?
[05:18] <bioterror> remember to clean your grub from junk then
[05:19] <riddler> ok how do I clean the grub
[05:19] <bioterror> by removing the not wanted OS's from it
[05:19] <bioterror> /boot/grub/grub.cfg if I remember right ;)
[05:20] <riddler> oh so even if i remove the other distro, it will still show in grub? it wont remove it automatically? i have to do it manually?
[05:21] <bioterror> just like boot.ini in Windows systems
[05:24] <riddler> alrity
[05:24] <riddler> thnx
[05:24] <bioterror> os-prober could remove it
[05:24] <bioterror> but we're not sure with Unit193
[05:24] <bioterror> you can give it a try after removing partitions
[05:30] <riddler> ya i will, be back, if things go smoothly :)
[07:24] <riddler> hey guys im back
[07:27] <riddler> i installed PuppyLinux, log on back to lubuntu and did the 'sudo os-prober' command, it says /dev/sda3:unknown Linux distribution:Linux:linux
[07:27] <riddler> I reboot and I don't see the grub2 bootloader, instead I booted directly to lubuntu
[07:29] <Unit193> Open a terminal and type    sudo nano /etc/default/grub    and make this line look like    #GRUB_HIDDEN_TIMEOUT=0
[07:31] <riddler> i put # next to that stuff rite?
[07:32] <Unit193> Correct
[07:37] <riddler> ok I did that, but how do I save and exit, it says on the command on the bottom ^X it just type onto the file
[07:41] <b3n3> riddler: u also can use your fav editor like vi or joe to edit the /etc/default/grub
[07:42] <Unit193> ctrl+x
[07:43] <riddler> b3n3: oh ok thnx for the tips
[07:44] <riddler> Unit193: thnx dude got it now
[07:45] <riddler> i did update grub, im gonna reboot now brb
[07:52] <nkznzf> @nkznzf
[08:07] <riddler> ya it work, I can log onto the other distro fine, thnx Unit193 :)
[16:12] <micahg> just a hint that someone might want to fix the lubuntu-desktop depending on lightdm-greeter-example-gtk, it's changed to lightdm-gtk-greeter
[16:13] <micahg> otherwise lubuntu-desktop will be removed on dist-upgrade now
[21:42] <micahg> gilir: ooh, you copied my pidgin-microblog change :)
[21:43] <gilir> micahg, yes :)
[21:43] <micahg> so, is lxdm lighter than lightdm, or you just want something that works ATM until you can provide a conffile
[21:43] <gilir> it was a good idea :)
[21:44] <gilir> micahg, just waiting for the conffile
[21:44] <micahg> cool
[21:45]  * micahg wonders if that would work for xubuntu, does lxdm work with xubuntu?
[21:45] <micahg> oops
[21:45] <micahg> I meant with xfce :)
[21:46] <gilir> micahg, it could probably work, but you need to provide a configuration file :)
[21:46] <micahg> ah, I think more work that it's worth at this point
[21:46] <gilir> yes :)
[21:58]  * phillw waves to the boss :)


[01:34] <RAOF> Hm. Keyboard input is not _quite_ correct :)
[02:18] <robert_ancell> RAOF, there's no way in Mir to get a surface to render to that's not visible is there? i.e. surfaces are always mapped
[02:19] <robert_ancell> or duflu ^
[02:20] <robert_ancell> actually duflu. I was wondering why your Mir client examples render into a malloc'd buffer before copying into the one returned from mir_surface_get_graphics_region
[02:20] <robert_ancell> why not just rendering in mir_surface_get_graphics_region?
[02:21] <robert_ancell> why not just render into mir_surface_get_graphics_region I mean
[02:23] <duflu> robert_ancell: Buffers are not preserved. At least not unless guaranteed by buffer_age semantics. And if you do use buffer age then you still have to track N different buffers yourself in the toolkit/client
[02:24] <duflu> Also, when I wrote fingerpaint, software clients were GPU-backed, not SHM. So reading back from a buffer was slower than it is now.
[02:24] <robert_ancell> duflu, mir_surface_get_graphics_region returns a new buffer right? And that is valid until mir_surface_swap_buffers is called?
[02:25] <duflu> robert_ancell: Sounds right...?
[02:25] <duflu> robert_ancell: Also, fingerpaint does that copy so it can remain dumb and not handle resizing :)
[02:25] <robert_ancell> ok
[02:25] <duflu> .. whilst not deleting your painting
[02:26] <robert_ancell> the names are really confusing - get_backend seems to imply that you're getting some singleton and swap buffers implies there are two buffers
[02:26] <duflu> robert_ancell: Given single-buffering support, fingerpaint wouldn't need that second malloc'd buffer
[02:27] <robert_ancell> duflu, so what happens in swap_buffers when you're single buffered?
[02:27] <duflu> robert_ancell: The latter issue is unfortunately a feature of OpenGL and many other graphics systems
[02:27] <duflu> robert_ancell: It would just tell the server to start displaying a new frame, and you pray (or time it carefully) to minimize client drawing at the same time. It would tear, but in some clients like fingerpaint not visibly
[02:28] <robert_ancell> and there'd be no swapping :)
[02:28] <duflu> On the other hand, fingerpaint would still need the copy/other buffer to resize as well as it does now
[02:29] <duflu> robert_ancell: Yes, "swap" as a verb is misleading in the world of 3 or more buffers. But that's a common misnomer of OpenGL and all modern graphics systems
[02:29] <robert_ancell> in the case of buffers != 2
[02:30] <duflu> Yes single too
[02:30] <robert_ancell> you should stop propogating the madness via the API...
[02:31] <robert_ancell> duflu, so my initial problem was GTK+ wants to start rendering before it's shown the window - is the only way to do this to rendering into some malloc'd memory (like in fingerpaint) and copy that into the graphics region once the window is shown?
[02:31] <duflu> robert_ancell: It was discussed, but no one has a better verb in mind. Particularly since the word "swap" is already known to graphics programmers
[02:31] <robert_ancell> finish?
[02:31] <robert_ancell> post?
[02:31] <robert_ancell> mark_ready?
[02:32] <duflu> robert_ancell: Actually there is a "hide" flag in the server. We presently lack client API to access it :)
[02:32] <robert_ancell> duflu, any reason not to expose it?
[02:32] <duflu> robert_ancell: Also, the compositor won't show your window till you've finished the frame (swapped)... so no problem?
[02:32] <robert_ancell> ah, ok
[02:33] <duflu> robert_ancell: It's always hidden till one whole frame is finished
[02:33] <robert_ancell> duflu, we're double buffered by default right?
[02:33] <duflu> robert_ancell: Triple, everywhere
[02:34] <duflu> I'm working to re-enable double, but it requires lots of smarts to switch on demand
[02:34] <robert_ancell> so I shouldn't be able to add any flickering
[02:34] <robert_ancell> as long as my buffer contents are correct
[02:34] <duflu> robert_ancell: No, flickering/tearing is impossible (tm)
[02:34] <robert_ancell> I like that
[02:35] <duflu> ... because the client is always drawing to a different buffer to that which is on screen
[02:35] <robert_ancell> duflu, do you get events on a surface before the first frame is drawn?
[02:36] <robert_ancell> duflu, and the triple buffer is so you can swap at any time without getting caught when the CRTC is reading out
[02:37] <RAOF> duflu: That's not _strictly_ accurate; misbehaving clients can tear, because they can keep a reference to the buffer they've submitted and continue drawing to it.
[02:38] <RAOF> But they need to go to quite some lengths to do that :)
[02:38] <robert_ancell> RAOF, yeah, there's no API to hold onto a reference is there?
[02:39] <RAOF> Well, you can get the current buffer package, which contains (among other things) the fd for the current buffer and then use that fd whenever you want.
[02:39] <robert_ancell> yeah, I'm not going to do that
[02:39] <RAOF> But you can't easily draw to that fd :)
[02:42] <duflu> It would require a lot of madness, similar to XMir :)
[02:43] <robert_ancell> any ideas on if events get delivered to surfaces that haven't been shown?
[02:43] <duflu> robert_ancell: I think a surface could get events immediately before it is composited. But I'm not sure what events...
[02:44] <robert_ancell> I supose it could get resized
[02:44] <duflu> Yes, the server/shell is free to resize at will. And the client has no choice
[02:44] <duflu> for now
[02:47] <robert_ancell> for ever
[02:47] <robert_ancell> You hope the shell is well behaved but it can do anything right?
[03:17] <duflu> robert_ancell: Maybe forever, don't know. Some clients might want to specify resize hints like "increments of a character" (terminal apps) or "fixed aspect ratio" (video)
[03:36] <robert_ancell> RAOF, is buffer age only supported on some backends? Why is it part of NativeBufferPackage and not in the main client API?
[03:36] <RAOF> buffer age should be supported for all backends.
[03:36]  * RAOF looks.
[03:38] <robert_ancell> I was expecting something like mir_surface_get_buffer_age ()
[03:38] <robert_ancell> Hmm, I was assuming that NativeBuffer is not something you'd use for "normal" clients. Is that not the case?
[03:39] <robert_ancell> yes, because it would be something entirely different on Android
[03:39] <RAOF> Well, for normal clients you'd use EGL, and we'd expose buffer age that way.
[03:40] <RAOF> (Note: We do not yet expose buffer age through EGL_EXT_buffer_age ☺)
[03:40] <robert_ancell> ha!
[04:09] <RAOF> Bargh.
[04:09] <RAOF> Why is INPUT_RECEIVER_REPORT=log going nowhere?
[04:16] <robert_ancell> See y'all in Malta
[04:36] <RAOF> Ok. So, that's correct rendering and inputish, but I need to deal with the “receives swap_complete events for dead surfaces” thing.
[04:38] <racarr__> RAOF: Rootless X?!
[04:39] <RAOF> racarr__: Indeed.
[04:39] <racarr__> yay
[04:40] <RAOF> It's hacked up at the moment, so uuugly (and has probably broken rooted mode)
[04:40] <RAOF> But I should learn how to mir_screencast
[04:40] <RAOF> ;)
[05:18] <duflu> RAOF: I think the actual making video instructions are buried in email threads somewhere
[05:19] <duflu> which I can't access as I am busy transferring to the laptop
[05:20] <duflu> RAOF: https://lists.ubuntu.com/archives/mir-devel/2014-February/000650.html
[06:20] <RAOF> Good, good. Making mir_surface_is_valid unconditionally return false does make some tests fail.
[09:37] <alf_> anpok: @unregister-fd-handler, I wonder if using the main loop mechanism to handle the FDs for input is the way to go. Do we need total serialization of the messages?
[09:38] <alf_> anpok: I could imagine using a more focused class for this purpose (but I am not familiar with the details)
[09:39] <alf_> anpok: are these going through the server main loop, or will we have a different object?
[12:23] <anpok> alf_: they do not have to go through the server main loop
[12:55] <anpok> alf_: https://code.launchpad.net/~andreas-pokorny/mir/unregister-fd-handler/+merge/220571/comments/528020
[15:16] <mterry> greyback, got several related branchs for split I would love a review on today:  https://code.launchpad.net/~mterry/unity-mir/no-focus/+merge/220718  https://code.launchpad.net/~mterry/qtubuntu/greeter-is-shell/+merge/220543  and https://code.launchpad.net/~mterry/unity-mir/dont-hide-focused-apps/+merge/220130
[15:16] <greyback> mterry: I'm just about to head to airport, I'll try to review while in the lounge
[21:00] <racarr__> hmm
[21:00] <racarr__> the dithering is wrong
[21:01] <racarr__> in unity8-mir on my new
[21:01] <racarr__> laptop
[21:01] <racarr__> or
[21:01] <racarr__> something
[21:01] <racarr__> insane banding