/srv/irclogs.ubuntu.com/2016/01/19/#ubuntu-unity.txt

=== alan_g is now known as alan_g|EOD
=== MerryChristmas is now known as benonsftware
=== benonsftware is now known as benonsoftware
=== vrruiz_ is now known as rvr
lpotterwhy are some windows full screen and others are just a slice on the right side on tablet? it's confusing and annoying11:00
lpotteris that a bug or feature?11:00
davmor2lpotter: it's sidestage it is phone sized apps open in it and then you can have for example webbrowser and notes open together on one screen11:02
lpotterit seems random and confusing11:04
faenilhow do I change display resolution in unity8 on desktop? :/11:41
faenillpotter: I think at the moment it's the app that specify its sidestage behaviour using special tags in .desktop11:42
faenilbut the future is "all apps should be able to switch to fullscreen or sidestage"11:42
faenilnot sure about that though11:42
flux__faenil, right X-Ubuntu-StageHint=SideStage12:18
flux__yay libertine updates12:19
mterryltinkl, I just noticed that the silo finished building sometime yesterday  :)15:04
mterrytedg, the debian/libubuntu-app-launch2.symbols file needs updating in your app-object branch to include all the c++ api15:11
tedgmterry: Ah, yeah.15:12
tedgmterry: Is there an easy way to get the c++ symbol list?15:12
tedgmterry: Usually for C I just look at the diff that the deb packaging stuff prints out.15:12
mterrytedg, fakeroot dh_makeshlibs | sed -e 's/^\+ \(.*\) \(.*\)/\+ \1 0replaceme/' -e 's/\([+-]\) \(_.*\) \(.*\)/\1 (c++)"\2" \3/' | c++filt > /tmp/diff_for_symbols15:13
mterrytedg, from https://wiki.ubuntu.com/DailyRelease/FAQ15:13
tedgmterry: Sweet, thanks!15:13
mterrytedg, http://bazaar.launchpad.net/~mir-team/qtmir/trunk/view/head:/src/modules/Unity/Application/desktopfilereader.h15:24
mterrytedg, that's the list of info we pull from desktop files15:24
mterrytedg, read http://bazaar.launchpad.net/~mir-team/qtmir/trunk/view/head:/src/modules/Unity/Application/desktopfilereader.cpp for the actual keys read that correspond to that API15:24
tsdgeoscimi: you can see in https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/landing-054/+packages it's still being buit15:24
tsdgeosbuilt15:24
tedgmterry: Really? What do you guys use exec() for?15:25
mterrytedg, ... seemingly nothing I could find.15:28
mterrytedg, skip that one for now.  maybe we used it in a hack in the past15:28
tedgmterry: K15:28
flux__X-( https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/153505815:30
ubot5Launchpad bug 1535058 in unity8 (Ubuntu) "applications close instantly when launched from the launcher or dash" [Undecided,Confirmed]15:30
mterrytedg, we do have some code that supports legacy ways of launching apps in qtmir -- those do check the process's command line and try determining desktop file from desktop_file_hint and parse it15:36
mterryand stage_hint15:36
mterrytedg, how common is that these days?  Can we just drop it?15:37
mterrytedg, we have two special checks for maliit-server and qt5/libexec/QtWebProcess15:37
tedgmterry: I think we can just drop it, I don't know of any users of it today.15:37
tedgmterry: We should probably ping someone like greyback or Saviq to see if they know.15:37
flux__i use -- --desktop_file_hint=15:37
tedgflux__: For what?15:38
flux__to launch apps15:38
flux__doh15:38
faenilmzanetti: has anyone started looking at https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1535058 ?15:42
ubot5Launchpad bug 1535058 in unity8 (Ubuntu) "applications close instantly when launched from the launcher or dash" [Undecided,Confirmed]15:42
faenilwe need to usertest core apps, but if unity8 doesn't cooperate... :|15:42
faenilSaviq: ^15:53
oSoMoNgreyback, hey, have you had a chance to take a look at https://code.launchpad.net/~osomon/qtubuntu/qkeyevent-native-virtual-key/+merge/282515 ? or will you have some time to look at it soon-ish ?15:54
greybackoSoMoN: I'll get dandrader to have a look15:56
greybackit looks reasonable15:57
oSoMoNthanks!15:57
mzanettifaenil, don't think so16:15
faenilmzanetti: isn't it, like, super critical? XD16:19
faenilno apps start, at all :D16:19
mzanettiwhat?16:19
faenilmzanetti: have you read the bug? :D16:20
mzanettioh, I thought it'd be the one where they stop when launched directly after closing16:20
flux__mzanetti, no! they don't launch at all16:21
flux__X-(16:21
faenilmzanetti: no, they don't launch at all, this is another bug16:21
oSoMoNdandrader, remember bug #1459362 ? I could use your help in understanding why a bunch of touch events go to the item below a SwipeArea before a drag is detected16:24
ubot5bug 1459362 in webbrowser-app (Ubuntu) "SwipeArea lets touch events through when a drag is detected" [High,New] https://launchpad.net/bugs/145936216:25
dandraderhmm16:25
dandraderoSoMoN, oh, so you got a minimal test app. good progress16:28
oSoMoNdandrader, yeah, it’s much easier (and more urgent too) now that SwipeArea is a public component :)16:28
Saviq@unity: I either broke Unity8 CI, or I made it faster, we'll find out soon ;)16:44
dandraderoSoMoN, commented on the bug16:44
oSoMoNdandrader, thanks, I commented back16:47
mterrytedg, in you app-object branch, does IconPath ever be relative (i.e. a theme icon name)?16:47
tedgmterry: Right now I'm just passing what the desktop file has.16:49
tedgmterry: I've debated about that, but icon themes is kinda a pain.16:49
mterrytedg, looks like you make a full path out of what the desktop file has..16:49
tedgmterry: But I think we're gonna have to handle that, because you wouldn't know the data paths for the libertine icons.16:49
tedgmterry: More meaning of resolving the icon themes than full/relative16:49
tedgPaths are easy, icon themes are not :-)16:50
mterrytedg, right...  But we presumably need icon theme support -- we don't know size we want ahead of time16:50
faenildandrader: oSoMoN since you're talking about letting events through16:50
faenildandrader: oSoMoN please take into account that you might have a scrollbar on any edge of the screen, and the scrollbar is draggable even on touch when the content is > 10 pages16:51
mterrytedg, something like if (fullPath) { return iconPath; } else { return "image://theme/" + iconPath; } is what I would expect me to do in qtmir (or UAL to do itself)16:51
faenildandrader: oSoMoN so the shorter delay before scrollbars gets events, the better...at the moment I see a big delay between the moment I drag the scrollbar and the moment it actually moves, and I'm thinking it's because swipearea is blocking events at the beginning while it's deciding if it's a drag16:52
oSoMoNfaenil, in the case of the browser we should be safe, as oxide’s scrollbars are not draggable16:53
dandraderfaenil, because that app that has scrollbars doens't know how to handle touch cancelation events, thus unity8 has to withhold the touch events until it's sure it's not a drag16:53
dandraderfaenil, sending touch/gesture cancellation events to apps hasn't been done yet.16:54
faenildandrader: wait, I don't get it. Who should be sending touch cancel?16:56
dandraderfaenil, unity816:56
dandraderfaenil, if the SwipeArea in question live in unity8, that is (the left, right and top edges)16:56
dandraders/live/lives16:57
tsdgeoscimi: silo 5416:59
cimitsdgeos, yeeep17:00
faenildandrader: so, let's assume the usecase is the user is trying to grab the scrollbar17:00
faenilwhat do you see as flow of events?17:00
faenilswipearea will get the events first, right? because it's in unity17:01
faenili.e. on top of everything17:01
dandraderfaenil, yes17:01
faenilso, how do you see that working good while the user is trying to grab the scrollbar?17:02
faenilworking well*17:02
dandraderfaenil, Then unity8 has a TouchGate in front of the app window which will withhold touch events from it until it's notified that the app has gained ownership over then (because the SwipeArea decided the touch is not performing a drag)17:03
faenilexactly, so, swipearea has to decide that it's not a drag first. But that's what I see happening,17:03
faenilthe scrollbar gets events with a big delay at the beginning17:03
tedgmterry: Sorry, got distracted. The problem is that you don't know the icon theme search path.17:04
tedgmterry: And there could be a bunch of icon them roots.17:04
faeniland I just wanted to let you guys know that and see if we can find a better solution, because the delay is suboptimal17:04
tedgmterry: So you need to effectively adjust your XDG_DATA_DIRS to match those roots.17:04
dandraderfaenil, no way around it unless the app is able to touch cancellation events. but we don't have written support for it yet17:04
tedgmterry: Which is kinda sucky.17:04
dandraderfaenil, no way around that delay near the edges, I mean17:04
faenildandrader: I still don't see why touch cancellation would improve that17:04
mterrytedg, like a libertine app might have a whole icon theme inside it?17:05
mterrytedg, so we need rooted icon themes?17:05
dandraderfaenil, but mouse events are not delayed. so dragging a scrollbar near the screen edge is immediate17:05
tedgmterry: No, the libertine container would. And we'd have potentially multiple containers.17:05
mterrytedg, oh one global container?17:05
tedgmterry: So think that you could have a vivid and a trusty one.17:05
mterryah right17:05
tedgmterry: Or three vivid ones, just for fun.17:05
faenildandrader: but mouseevents are only synthesized from touch if touch is not handled17:06
mterrytedg, so we *could* modify our icon lookup code to look in those.  but we really only want to do that if the app is from that container17:06
faenildandrader: I'm talking about draggin scrollbar with a touch device, mind you17:06
faenilwe're talking about touchscreen17:06
mterrytedg, you could give us something like image://libertine-theme/container-name/icon-name17:06
mterrytedg, and adjust the icon lookup parser to understand that17:07
tedgmterry: Yeah, so the issue I ran into there is that it seems that the Qt code for icon theme lookup is kinda singleton based. Which makes sense for /usr/share/icons …17:08
dandraderfaenil, let me rephrase: " but mouse events are not delayed. so dragging a scrollbar near the screen edge with a mouse is immediate"17:08
tedgmterry: So we end up chasing down the rabbit hole17:08
faenildandrader: I got that...but the only way to get mouse events is to get events synthesized from touch events, and that won't happen until swipearea lets them through17:10
faenilright?17:10
faenilbecause whenever you use the touchscreen to grab the scrollbar, swiparea grabs touch17:10
mterrytedg, well...  for Ubuntu SDK apps, we must end up pointing at a single icon right?17:11
mterrytedg, maybe libertine apps can just give us a single icon too17:11
faenildandrader: oh I missed the point you edited. Yeah, it will be immediate with mosue17:11
mterrytedg, but maybe still allow desktop files to use a icon theme name, since it's technically permissible17:11
faenilmouse*17:11
dandraderfaenil, I'm not talking about synthesizing mouse events out of touch events. I was talking about mouse events coming from an actual mouse device17:12
tedgmterry: Yeah, so perhaps we'll solve the icon theme situation just in the libertine case and give themes in the legacy root case.17:12
mterrytedg, when they are on the system17:12
dandraderfaenil, yes17:12
faenildandrader: ok, we don't care about that ;)17:12
mterrytedg, yeah17:12
tedgHow many apps do we have installed as debs? Just system-settings?17:12
faenildandrader: we care about improving the touch UX :D anything I or you can do17:12
faenil?17:12
dandraderfaenil, nothing you can do about that delay near the screen edges17:12
mterrytedg, more but I don't remember list17:12
mterrytedg, like 5 or less17:13
mterry5 or fewer  :)17:13
faenildandrader: alright..17:13
dandraderfaenil, to solve that we (unity8 team, maybe mir team as well)  have to implement detecting support for touch cancellation from apps and sending them if the do support it17:14
faenildandrader: again :D please explain how touch cancellation would improve that, because I Don't get how17:14
tedgmterry: Looks like on my phone: dialer, mediaplayer, messaging, system settings and browser.17:14
dandraderfaenil, and then for apps to change their code to handle touch cancellation if they want to get rid of that delay17:14
mterrytedg, 5!  bam17:14
tedgmterry: Curious if we can just change those to not use icon themes :-)17:15
faenildandrader: why should unity send a touch cancellation if swipearea is still thinking what do with the events?17:15
mterrytedg, stop trying to kill icon themes17:15
dandraderfaenil, no17:15
dandraderfaenil, unity8 would send touch events to app immediately, even though unity8's edge swipeArea is still doing gesture detection17:16
dandraderfaenil, then, if unity8's edge SwipeArea decided that this is an edge drag gesture, unity8 would send a touch cancellation event to the app17:16
faenildandrader: ah okay! yeah, then I get you of course17:16
dandraderfaenil, meaning that the app would no longer get evens from that touch point and that it should undo any changes caused by that touch so far17:17
faenilsure, sure17:17
faenilI misunderstood you before17:17
faenilI didn't see how it could work with the current swipearea, and in fact it wouldn't. Once unity8 starts handling that, swipearea impl will have to be changed as well17:18
faenilto let events through from the beginning17:18
faeniland then unity8 will send touchCancel if needed17:18
dandraderfaenil, please file a bug requesting support for gesture cancellation to apps and stating why you need that (eg those touch-operated scrollbars)17:18
faenildandrader: right?17:18
dandraderfaenil, so we can properly prioritize that work17:18
dandraderfaenil, or actually, the bug should be simply about complaining that touch events near edges come with a delay17:19
faenilI have to test that a bit better before filing it, once I'm pretty sure it's swipearea's fault I'll file it17:20
dandraderfaenil, sending gesture cancellation to apps is orthogonal to SwipeArea implementation17:20
dandraderfaenil, those are two separate things17:20
faenildandrader: yes, I get that17:20
faenildandrader: I'm talking about letting events through from the beginning17:20
dandraderfaenil, in unity8 code, TouchGate in SurfaceContainer.qml is the one withholding the touch events from the app17:21
faenilonce unity8 handles touchCancel, swipearea still needs to be modified to let events though from the beginning, right?17:21
faenilah ok17:21
faenilI'll have a look at that then, thank you17:21
dandraderfaenil, read TouchGate's documentation17:21
faenilyeah then TouchGate will have to be modified. I thought it was swipearea itself blocking them17:21
faenilok17:21
faenilwill do17:21
cimipstolowski, hey, can you send me/link me the scope with the filters? (click pkg)17:27
pstolowskicimi, lp:~stolowski/+junk/scope-filters in click/ folder17:29
dandraderfaenil, no. what has to be done is that SurfaceContainer won't put a TouchGate in front of the app surface if the app surface tells us it support gesture cancellation17:30
dandraders/support/supports17:31
faenildandrader: yeah, clear now that I've read TouchGate's (short) doc17:31
faenil:)17:31
faeniland that explains what I was seeing as well17:31
faenilall events are stored and replayed17:31
dandraderfaenil, only the ones for which ownership hasn't been solved yet, which are the ones that go through those SwipeAreas that unity8 have near screen edges17:32
faenildandrader: yes17:32
faenilyes17:32
mterrypatriciadavila, can you point me to the spec for how the dash is supposed to look / behave in windowed mode?17:33
faenildandrader: so I guess SwipeArea doesn't get ownership until it's sure it's a drag17:34
dandraderfaenil, yes17:34
patriciadavilamterry: this is the presentation that describes the journeys - https://docs.google.com/presentation/d/1uSTcU-My6VD94BEISs_Y30O-mJG26I_czuXCKI4BzFQ/edit17:34
patriciadavilamterry, we'll have a session about this tomorrow, you are welcome to join if you have any questions17:34
mterrypatriciadavila, I have one question -- not about the content of the scopes window, but about the window itself -- like close / minimize / maximize buttons17:35
mterrypatriciadavila, which should it have / how should they behave?17:35
patriciadavilamterry: maybe vesar can help you better with that? The dash window should have/behave like any other window afaik17:37
oSoMoNdandrader, pardon my ignorance wrt touch even handling, what sort of event/notification do we get when a touch is grabbed by a SwipeArea?17:40
faeniloSoMoN: I'm pestering him already :D17:41
mterrypatriciadavila, asked him, thanks17:41
oSoMoNdandrader, faenil: shouldn’t we be getting a TouchCancel event, or something like that?17:43
patriciadavilamterry: yw17:43
faeniloSoMoN: if I understood correctly, in the current state of things you won't get events until SwipeArea decides you shall17:43
faeniland at that point, you'll get all of them at once, in the correct order17:44
faenilthat is because there's TouchGate in unity8 that prevents the touch events from getting to the app17:44
faenilin the ideal future, the app will signal that it can handle touchCancel (I think this should always happen, not on demand), and unity8 will remove TouchGate17:46
dandraderoSoMoN, http://doc.qt.io/qt-5/qquickitem.html#touchUngrabEvent17:46
faenilat that point, both the app and SwipeArea will get the touch events, but if SwipeArea then decides that it has detected a drag, it will send touchCancel to the app17:46
faeniland the app will behave accordingly17:46
dandraderfaenil, oSoMoN is talking about an in-app SwipeArea, not about a SwipeArea in unity817:47
dandraderfaenil, those are two different scenarios17:47
faenilsorry, didn't have context :)17:47
faenildandrader: well, it's the same except there's no touchgate already, right?17:47
faenilbecause the app doesn't have it17:48
dandraderoSoMoN, if can also listen to TouchOwnership events if you want to. but that's a ubuntu-ui-toolkit specific event type17:48
dandraders/if/you17:48
mterryoSoMoN, what's the plan for remembering passwords in webbrowser-app?  Either internally or allowing some sort of plugin like lastpass to operate?18:03
oSoMoNmterry, a while ago a lastpass extension was mentioned, but oxide doesn’t have an extension mechanism, so that didn’t go anywhere, I’m not sure if there’s a concrete plan at all18:05
mterryoSoMoN, is an extension mechanism a no-go at all, or one of those "we haven't done it yet, but want to" things?18:06
oSoMoNmterry, I think it’s pretty much a no-go, it would be a huge amount of work for which we simply don’t have resources18:07
mterryoSoMoN, and we don't plan remembering passwords internally?18:07
oSoMoNmterry, Chris Coulson should be able to confirm, you can find him on #oxide18:08
mterryoSoMoN, it's just another pain point for me on the desktop.  Everytime I want to log into my bank or whatever, I jump to Firefox to use lastpass18:08
oSoMoNmterry, I guess remembering passwords internally is the only way forward, but I don’t think it’s even been planned/scheduled18:08
faenildandrader: so SwipeArea gets touch, it signals itself as candidateOwner, at that point touchgate will block those points, because it won't be able to get ownership on that, is that right?18:08
oSoMoNmterry, I very much understand your frustration18:08
faenilotherwise, if swipearea ignores, touchgate manages to get ownership, and that means it can send the events through18:09
mterryoSoMoN, it's fine personally.  But just means I don't test as many websites   :)  Although I believe mint.com at least doesn't work in oxide anyway18:09
dandraderfaenil, pretty much it18:09
faenildandrader: had a quick look at both dda and touchgate, but didn't read thoroughly18:09
faenilbut that looks sensible18:09
faenildandrader: so all the touch events that have a candidate owner are stored and blocked. At one point SwipeArea either drops itself as candidate owner, or requests full ownership. If it drops itself as candidate owner, touchgate replays all the stored events, otherwise the events are removed from the queue18:13
dandraderfaenil, yes18:14
faenildandrader: ok, cool. Thanks for the help!18:14
* faenil leaves the office18:15
=== ChrisTownsend1 is now known as ChrisTownsend
mterryjosharenson,  --no-tgz-check19:54

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