=== _salem is now known as salem_ === salem_ is now known as _salem === _salem is now known as salem_ === salem_ is now known as _salem [06:42] veebers: ping [06:42] mzanetti: pong [06:42] veebers: see, I'm practicing for the 8:30 meeting already :D [06:43] mzanetti: heh ^_^ [06:43] veebers: wanted to ask if you guys managed to fix those notification tests [06:43] mzanetti: one moment I'll fwd an email [06:59] Saviq, ping [06:59] tvoss, pong [07:07] didrocks, hey, something is blocking cu2d? unity8 stack is still in "waitforstacks" mode? [07:14] MacSlow: ping [07:14] veebers, hey there [07:14] Hey hows it going [07:14] veebers, just read the two email... jumping right in [07:15] MacSlow: I see you saw that email, I just commented to mzanetti that I'm having a small issue with it and I suspect perhaps it's unity8 or notifications related? [07:15] MacSlow: I'm about to push a slight change to that branch in the email [07:15] veebers, ok [07:16] Saviq: it seems it's building to me? (platform just finished) [07:16] Saviq: basically, the ati machine went down, I had to restart the jenkins node again this morning [07:16] didrocks, yeah, building now [07:16] didrocks, so I just saw a symptom of something you fixed already :) [07:17] heh, I fixed it 2 hours ago TBH, but time for everything to build then… ;) [07:17] mzanetti, MacSlow: I've pushed an update to that branch [07:18] it added a test_simple_interactive which always works for me, but the test_interactive has an issue where, I'm not sure, something happens, either you can't click on the notification or it errors out (after a while) due to dbus error [07:19] didrocks, yeah, but unity8 stack would've been done long ago if that didn't happen, right? hence my surprise [07:19] What happened? [07:20] Morning! [07:20] mzanetti, MacSlow this is an example of one of the errors I've seen, but I've ofcourse changed the source now, so the "print" isn't there: http://paste.ubuntu.com/5913733/ [07:20] didrocks: is our daily-release jenkins down? [07:20] Oh, nevermind [07:21] veebers: MacSlow: can you please modify the notification tests's setUp to start up a d-bus session bus and stop it again in tearDown? [07:21] its as simple as calling "export `dbus-laiunch`" [07:21] veebers, mzanetti: just pulled... and I'm also seeing this... http://pastebin.ubuntu.com/5913918/ [07:21] MacSlow: no clue what that is [07:22] veebers, https://code.launchpad.net/~saviq/unity8/reenable-passphrase-tests [07:22] veebers, ouch [07:22] veebers: dunno... your branch doesn't work at all here. the notifications don't show up [07:23] Saviq: ouch? [07:23] veebers, the xcb thing [07:23] veebers: and it fails with AttributeError: 'TestNotifications' object has no attribute '_get_urgency' [07:23] Saviq: ah ack [07:23] mzanetti: ah, probably because only one of the tests has been updated to use the new stuff and the others will be temporarily broken [07:24] Saviq: approve [07:24] d [07:25] veebers: is there a possibility to only run one of the scenarios? [07:26] mzanetti, veebers: I thought setUp() and tearDown() are no longer used/supported after the refactoring? [07:26] MacSlow: got the xlib sequence thingie now too [07:26] MacSlow: I'm sure they are... just not used at the moment I guess [07:26] mzanetti: either change the `scenarios = . . .` at the top of test_notifications, or comment out one of the options in `_get_device_emulation_scenarios` in test/autopilot/unity8/shell/tests/__init__.py [07:27] veebers: yeah... I meant without modifying the code [07:27] mzanetti: oh, not that I'm aware of [07:27] * mzanetti open a feature request [07:27] this is annoying as hell [07:27] Saviq: yeah, it would have been done ~3h ago [07:27] MacSlow: yeah they are supported, they are general testtools thing [07:27] mzanetti: are you opening that up against autopilot? [07:27] yeah [07:28] veebers, ah ok... thought it was special to our unity8-ap [07:28] MacSlow: no, setUp is executed before every test_* and tearDown afterward [07:31] hmmm [07:31] dee-qt isn't autoreleased? [07:31] or when does the autorelease happen? === maxb_ is now known as maxb [07:32] tsdgeos: I read something that the daily release jenkins currently has troubles... might be related to that [07:33] dednick: morning. I fixed your crash yesterday, but you were already gone :) [07:33] larsu: yep. i came back later :) [07:34] veebers: http://www.faqs.org/faqs/x-faq/part7/section-15.html [07:35] MacSlow: ^ [07:35] larsu: couple of questions about the model [07:35] larsu: the action role doesnt seem to work. [07:35] always undefined. Doesnt have a case in the model::data func [07:36] mzanetti, *sigh* [07:36] dednick: you don't need the action. (Well, at least I think you don't) [07:36] larsu: in your example you have a slider, but no value is set :) so couldnt work out how to get it [07:37] mzanetti: hmm I would have thought we would be safe from that as the python "multiprocessing" uses subprocesses not threads, or perhaps I mis-understood it [07:37] larsu: as far as i know, the actions contain the control values? switches, sliders etc. [07:37] veebers: I'd say so too... but the fact that we are getting those erorrs... dunno. let me check the code [07:37] mzanetti: cool thanks [07:37] dednick: right, you do need the state. Isn't that exposed? (I wrote this a while ago) [07:38] dednick: doesn't look like it... will fix toda [07:38] larsu: not as far as i can tell [07:38] *today [07:38] larsu: cool. thanks. [07:39] veebers: regarding this comment: # THese lines are commented out because for some reason the # notification appears in my desktop unity session, rather than the# launched unity8 session. [07:39] mzanetti. MacSlow : I was going to mention this is an example script using the notifications_helper, but I'm not sure if it'll help: http://paste.ubuntu.com/5913944/ [07:39] veebers, I still seem to be needing to call super(myTestClass self).setUp() in my setUp(), right... same for tearDown()... [07:39] veebers: run "export `dbus-launch`" from the terminal where you run the test suite [07:39] larsu: also, what does the "sensitive" role signify? [07:39] mzanetti: sure, we'll add that to the actual test suite itself too [07:39] dednick: whether the control can be interacted with (it's sometimes also called enabled) [07:40] mzanetti, os.system() should work in the ap-test to do that [07:40] larsu: ok [07:40] veebers: I don't see where you start a new process [07:41] mzanetti: line 23 of emulators/notification_helper.py [07:42] mzanetti: also, fyi: http://docs.python.org/2/library/multiprocessing.html [07:43] this is a lot of code... [07:44] I would have assumed we could spawn a binary and kill it again in tearDown [07:45] veebers: what exactly does this? with Notifications() as n: [07:45] veebers: is this just another way of doing "n = Notification()" ? [07:46] mzanetti, veebers: the test just hangs here for me [07:47] for me it does different things each time I run it [07:47] mzanetti: the 'with' makes it a context manager, so when 'n' goes out of scope Notifications __exit__ is called (conversly Notifications __enter__ is called when it enters scope) [07:47] it's used here so that _quit is called for Notifications so that it cleans up after itself [07:47] mzanetti: http://effbot.org/zone/python-with-statement.htm [07:48] veebers: got it. thanks [07:48] mzanetti, veebers: bit lost here atm [07:49] mzanetti: the idea here (using multiprocess) is that we can have a thread like api so that we can communicate with it (i.e. the asserts etc.) without it being in a worker thread i.e. it being in it's own process [07:51] veebers: ok.... following issues: [07:52] veebers: after starting the multiplrocess the sending of the notification happens too earls (i.e. the other process is not always successfully registered yet) [07:52] veebers, MacSlow: next, the clicking on the notification _sometimes_ happens too early [07:52] veebers: the notifications multiprocess seems not to be cleaned up successfully and only the very first run works [07:52] I need to start a new dbus-session to make it work again [07:53] mzanetti: oh, if that's in the _simple_interaction I just noticed that there is no "assert notification has appeared" [07:53] the other test test_interactive has that check (from memory) [07:53] test_interactive is what I'm running [07:53] mzanetti: oh :-\ [07:54] mzanetti: hmm, I tried this and had no issues: http://paste.ubuntu.com/5913992/ [07:54] veebers: the _assert_notification() seems to be commented out [07:55] mzanetti: ah, it looks like i didn't re-enable it after it was commeneted out [07:55] commented* [07:55] ok... I try again [07:56] added that line back in and now it doesn't click at all any more [07:56] :/ [07:56] and autopilot hangs that I need to kill it with -9 [07:56] ctrl+c does not work [07:59] mzanetti: hmm, how long did it hang for? [07:59] until I killed it [07:59] :P [07:59] mzanetti: :-P [07:59] still hangs [07:59] didrocks, sil2100 what's that mean http://10.97.0.1:8080/view/cu2d/view/Head/view/Unity8/job/cu2d-unity8-head-2.1build/lastFailedBuild/console ? [08:00] sil2100: can you take that in charge please? ^ === didrocks is now known as didrocks_reallyb [08:00] ;) === didrocks_reallyb is now known as didrocks_busy [08:02] Saviq, didrocks_busy: ACK [08:02] sil2100, it probably just needs a retry, as the armhf builder failed in d-b-n [08:02] Ah, yeah, chroot problem... [08:02] Saviq: do we still suffer from the UbuntuAnimation not going to its target value? [08:02] mzanetti, no [08:02] weird :/ [08:03] Saviq: retried, will have to re run this job once it's finished ;/ Sometimes those builders are more trouble than help [08:03] mzanetti, was reverted [08:03] hmm [08:04] mzanetti, MacSlow: Hey I need to go have something to eat :-P, will have dinner and come back [08:04] ack [08:04] veebers, enjoy [08:05] veebers, reading through notification_helper.py atm [08:06] need to reeboot. too many dbus-daemons running [08:09] sil2100, any ideas where does dpkg-source: unrepresentable changes to source come from? [08:09] sil2100, i get it when trying bzr bd [08:11] MacSlow, mzanetti I don't know if I mentioned, that when the test failed or before the dbus error etc. When the notification popped up even if I clicked on it myself nothing happened [08:11] MacSlow: cheers :) [08:15] hmmm [08:15] should [08:15] stop unity8 [08:15] stop unity on the phone? [08:16] it's what we do on run_on_device [08:16] but ain't working here on the unity-mir thing i have [08:16] * tsdgeos realizes he can uninstall the package [08:19] mhr3: ah [08:20] tsdgeos, you need to be logged in as phablet for this [08:20] tsdgeos, and yes it works [08:20] tsdgeos, btw, the last image is working on maguro, but there's no input in apps, any idea? [08:20] mhr3: I have that, most of the times it means that the version you're building got already released and you try to build it with changes [08:20] phablet@ubuntu-phablet:~$ stop unity8 [08:20] -su: stop: command not found [08:20] * Saviq also vaguely remembers Gerry wrote an email about this yesterday, but can't find it now... so could've dreamt it ;P [08:20] tsdgeos, sudo -u phablet -i [08:21] sil2100, ah, so just bump the changelog? [08:21] Saviq: anyway i uninstalled unity8 and that's fine :D [08:21] tsdgeos, initctl stop unity8 [08:21] Saviq: last image as unity-mir image or as regular image? [08:21] mhr3: yes, but if you're building a test build just for yourself, better to bump the upstream version [08:21] tsdgeos, unity-mir image [08:21] tsdgeos, from http://s-jenkins:8080/job/ubuntu-touch-phablet-image-saucy-mir/? [08:21] input is a bit borked yes [08:22] mhr3: otherwise it tries to use the released tarball from the archive and nitpick if you made some changes in the source [08:22] it's one of the things gerry asked me to have a look [08:22] and i'm trying [08:22] but it's hard given i have no clue about it at all [08:22] sil2100, by upstream version you mean the "prefix" in the changelog? [08:22] so don't expect me to find anything [08:22] actually i do have input [08:22] just in some areas [08:23] mzanetti, MacSlow: back fyi :-) [08:24] sil2100, cause you know otherwise upstream version for me is what's in configure / cmake [08:24] veebers, just trying to get this dbus-launch and tearDown working correctly... or is that not longer needed? [08:24] mhr3: I mean like you have 1.1-0ubuntu1, 1.1 is the upstream part for me ;) [08:25] veebers, btw... I'm not sure how to correctly call super(fooBarClass, self).setUp(...) super(fooBarClass, self).tearDown(...) [08:25] sil2100, right that's what i meant by the prefix :) [08:25] MacSlow: th intention of that is so that we don't have to kill notify-osd on our desktops [08:25] veebers, what arguments do these to take? [08:25] sil2100, but yep, helped it builds now, thx [08:25] mhr3: np. [08:26] veebers, got that... just trying to make sure I do "kill -15 ..." the right $DBUS_SESSION_BUS_PID [08:26] veebers, MacSlow yeah, and on daily build autopilot runs [08:26] MacSlow, setUp and tearDown don't have no arguments, afaik [08:26] MacSlow, but then you can always go *args, **kwargs to be sure [08:26] MacSlow: sorry missed that, yeah no arguments to setUp() or tearDown() [08:26] Saviq, "*args, **kwargs"? [08:27] veebers, ah ok [08:27] MacSlow, that's positional arguments, keyword arguments [08:27] MacSlow, say you have: [08:27] def foo(self, *args, **kwargs): [08:27] MacSlow: for process stuff you should be able to use subprocess, one moment and I'll have an example [08:28] MacSlow, then you'd usually call super like so: [08:28] def super(FooClass, self).foo(*args, **kwargs) [08:28] Saviq, I see [08:28] MacSlow, unless you wanted to pass different arguments to the super class's foo() [08:29] MacSlow, *args "wraps/unwraps" iterables, **kwargs "wraps/unwraps" dictionaries [08:30] MacSlow, http://docs.python.org/3/tutorial/controlflow.html#keyword-arguments [08:31] Saviq, thanks [08:32] Saviq: damn, the queue for autopilot testing is looong, I wonder if didrocks_busy had anything against me skipping the check job for unity8 once the armhf build finishes and just publishing [08:33] Saviq: since it's hogged by unity test now [08:33] sil2100, it's fine [08:33] sil2100, let it run [08:33] sil2100, I'm not pushing for a quick release, just pushing for the thing to get through :) [08:34] MacSlow: http://pastebin.ubuntu.com/5914066/ [08:34] Saviq: ok then ;) This might take like an hour or so if anything [08:35] sil2100, that's completely fine [08:35] MacSlow: that's a quick and dirty example of using subprocess [08:35] veebers, oh... I was on a complete differnet (probably wrong path) [08:35] sil2100, I'm not worried by stuff running, I'm worried by stuff failing :) [08:35] MacSlow: I had intended for the resulting process object would be the dbus process, so we could just store that and addCleanup(kill, process_obj) or similar [08:36] veebers, used os.system("export `dbus-launch`") and was wondering how to get hold of $DBUS_SESSION_BUS_PID from that spawned subshell [08:37] MacSlow: ah ok [08:37] Saviq, do you have that magic VM that replicates Jenkins setup? [08:37] MacSlow: you'll need to self.patch_environment with the 2 results from that subprocess call too, or just the 1 actually (the 'DBUS_SESSION_BUS_ADDRESS') I dont think you need the PID one to connect [08:38] dandrader, I sent it out to the ML, yes [08:38] dandrader, there's still some xcb crashes going on [08:38] dandrader, but it's generally working [08:39] veebers, I wanted just to "dbus-launch", grab the resulting $DBUS_SESSION_BUS_PID in setUp() and then use "kill -15 " in tearDown() [08:40] MacSlow: I suspect you may have issues with the tests not using the right dbus session unless you setup the environment variable [08:40] MacSlow: how can I trigger a notification manually from the command line? [08:41] mzanetti, notify-send "Summary" "Body" -i someIcon [08:41] mzanetti, but that's not going to be a interactive one [08:41] MacSlow: how can I do an interactive one? [08:42] mzanetti, from the command line... only with a python-program [08:42] MacSlow: do we have such a thing? [08:42] mzanetti, pasting... [08:43] mzanetti,http://pastebin.ubuntu.com/5914080/ [08:44] mzanetti, icons will probably not work.. but that should not be an issue === shiznix_ is now known as shiznix [08:45] mzanetti: that example I posted before should work too: http://paste.ubuntu.com/5913944/ [08:46] the one from MacSlow works fine [08:46] veebers: so... the notification we create from the test doesn't seem to be interactive [08:46] veebers: even manually clicking it doesn't do anything [08:46] veebers: if I create it with the command line it works [08:47] mzanetti: yeah I noticed that sometimes (like when the test/dbus/something was failing). [08:47] mzanetti: but I've also seen it work fine (i.e. that test_simple_interactive) one that I added, that works for me [08:47] mzanetti, veebers: just saw... # notification.set_hint_string ("x-canonical-switch-to-application", "true") [08:47] mzanetti: how are you creating it from the command line [08:47] why don't we just ship that python script from MacSlow and call it with os.exec() or whatever the python thingie for that is [08:47] ? [08:47] instead of all that complexity with task queuing [08:48] mzanetti: possibily, what would be the best way of checking that things get called? [08:48] hmm actually [08:48] mzanetti, veebers: with that commented the backend won't instruct the frontend to construct an interactive notification [08:48] mzanetti, veebers: so any passed actions will be ignored [08:49] mzanetti, veebers: callbacks in those stand-alone notification-python programs setting env-vars?! [08:50] veebers: couldn't we just keep the stdout pipe open and print() the triggered actionId? then just do a string comparison on the apps output [08:50] * mzanetti is still a python noob so not sure what caveats we'll run into there [08:50] mzanetti, MacSlow: we could have a script that is passed as an argument a list of "action ids", and the script prints and exists the actual id that is pressed [08:51] mzanetti: heh the same idea I think [08:51] mzanetti, veebers: I welcome whatever works and keeps complexity down... and extensibility up :) [08:51] veebers: right... even easier: we pass the expected action_id as an argument and just make it return 0 or 1 depending on success [08:52] mzanetti: I think you're right and we should simplify the issue now, using this script sounds like it will work for us now (I really want to get this done, I also really want to be able to see my partner tonight ^_^) [08:52] mzanetti: we need to pass in the possible action ids I think, let me re-read some of the tests [08:53] mzanetti (MacSlow correct me if I'm wrong): in test_sd_incoming_call it looks like we need to be able to pass a list of action ids and a list (of equal length) of action labels as there may be a couple of buttons to press and we want to make sure the right one gets pressed [08:54] veebers, correct [08:54] mzanetti: so my suggestion is a script that takes these 2 inputs, constructs the notification and outputs the action_id of the called action and quits [08:55] veebers: yeah, exactly [08:55] veebers: I pushed something to your branch [08:55] mzanetti: and in the test have a helper method that polls this subprocess object (that is the python script) and if it doesn't return a value in x seconds kills the script and assert(fail) [08:55] veebers: got rid of some lambda magic which seems to make it more reliable [08:55] veebers, apart from the input sd_example_incoming-call.py does that already [08:55] veebers: at least it always finds the notification now [08:57] veebers, I meant that http://pastebin.ubuntu.com/5914114/ [08:58] veebers, you can ignore/delete the example.* parts [08:58] mzanetti: hmm I seem ed to have screwed something up I can see my history of that branch :-\ [08:59] veebers: yeah... something weird seems to have happened... might have been me tho [08:59] MacSlow: right the script that we're talking about would be like that except it wouldn't have action_decline_1, action_decline_2, it would just have one callback and it would just output/print/something the action_id that the callbakc was called with [08:59] mzanetti: hmm odd [09:00] veebers, ok [09:00] mzanetti: I'm wondering if you did something odd. bzr qlog shows only commits from mirco and yourself [09:01] veebers: well, I had mirco's branch here and merged your's into it... did some small changes and pushed it to yours... probably that screwed it up [09:01] veebers: altough I don't see why... [09:01] sorry for that [09:01] but the code is still there... its "just" the history [09:02] ah that branch of mine was the one you pushed to, right? so you took . . . yeah exactly, all condensed into one commit ;-) [09:02] hmpf [09:02] mzanetti: so even with your changes it's not working as expected? [09:02] mzanetti: ^_^ [09:03] veebers: no... its a bit better... but the triggered notification doesn't seem to be interactive in most of the cases [09:03] veebers: my change didn't touch that tho [09:03] man, I feel like a coffee but we only have espresso and it's late. First world problems [09:03] ah but tis friday, so coffee time it is I think gents [09:03] veebers: all I did was to replace the lambda for get_notification() with some normal assertThat(notifications.count, eventually(equals(1))) [09:04] seems to make it more reliable ^ [09:04] mzanetti: hmm, so are we confident that the notification not being interactive is due to something in the notification helper and definiately not in unity8/notifications/something ? [09:04] veebers: I did like 10 test runs with the command line tool and it worked 100% [09:05] veebers: so I'd say yes... but don't have any proof for it (i.e. I don't know why the helper wouldn't work) [09:06] mzanetti, from the gsettingscontroller class [09:06] how do I access the other gsettingsqml object? [09:06] I need a reference/pointer [09:06] Cimi: as the controller is a singleton you can get to it from the gsettings classes [09:07] Cimi: in the gsettings constructor do a controller::instance()->registerSettingsObject(this) [09:07] mzanetti, I created Gsettingsconroller::setpictureuri() [09:07] Cimi: in the controller hold a QList of all the registered settings objects [09:07] mzanetti: ok, I'm hacking together a quick script so we can try that approach out [09:07] Cimi: and in setpictureUrl() do a foreach() loop over all the registered objects and update their url [09:08] veebers: cool. I'll help Cimi in the meantime [09:08] mzanetti: ack [09:09] Cimi, can you tackle https://bugs.launchpad.net/unity8/+bug/1205094 please [09:09] Launchpad bug 1205094 in Unity 8 ""Recent searches" in dash are white-on-white" [High,Triaged] [09:09] tsdgeos, could you look at https://bugs.launchpad.net/unity8/+bug/1205097 quickly to see where the problem lies? [09:09] Launchpad bug 1205097 in Unity 8 "HUD isn't working" [Critical,Triaged] [09:09] Saviq: I see the same in the quicklist... seems an issue in the Popover I'd say? [09:10] mzanetti, possible [09:10] Saviq, got a mail, yup [09:10] Saviq: i was going to now, but the phone just ran out of battery [09:10] mzanetti, /me checks gallery [09:10] tsdgeos, excuses excuses! :P [09:10] the damn unity-mir thing doesn't have suspend or anything [09:10] Saviq: is that repro on the desktop? [09:10] should be [09:10] * tsdgeos tries [09:10] tsdgeos, not [09:10] tsdgeos, we don't have app management on desktop [09:11] ah [09:11] :-/ [09:11] tsdgeos, so we'll never tell hud what app is focused [09:11] we (unity8) never do on the phone either [09:11] tsdgeos, right, so maybe it would be [09:11] tsdgeos, but then... it's unity8 that's focused [09:12] tsdgeos, and unity8 doesn't have HUD actions then [09:12] tsdgeos, so somehow you'd need to trick HUD into looking at a different app [09:12] right [09:12] hud used to be smart enough to do that [09:12] it ignored its clients [09:13] anyway, let me phablet-flash and get out of the unity-mir world [09:13] and i'll try to find out what broke [09:17] Cimi, there's also one more issue with the popover http://ubuntuone.com/4249DjbGl6QiOVaTxHOdsU [09:17] Cimi, see where the pip is [09:17] Saviq, weird we have those issues [09:17] Saviq, I'll check it out [09:17] Cimi, thanks [09:17] Cimi, the pip is fine on manta, btw [09:18] don't have it [09:18] only ma+guro [09:18] Cimi, that's fine, it's the same on desktop [09:18] Cimi, just resize your window [09:20] mzanetti, Cimi the example from file:///usr/share/ubuntu-ui-toolkit/doc/html/qml-ubuntu-components-popups0-popover.html works fine [09:20] Cimi, mzanetti I expect it's our theme's fault [09:20] Saviq: yeah... sounds reasonable [09:21] Saviq: look what I just found: http://kdeblog.mageprojects.com/2013/07/13/qml-dragdrop-support-is-about-to-become-a-lot-better-accepting-external-drop-events/ [09:21] mzanetti, what's the argument of the registerSettingsObject? [09:22] GSettingsQml [09:22] QObject obj or *obj? [09:22] * [09:22] ok [09:22] Cimi, yeah http://pastebin.ubuntu.com/5914173/ [09:22] mzanetti, I am confused with those QString... [09:22] Cimi, it's a theming issue [09:22] and objects, sometimes they need the pointer sometimes not [09:22] Cimi, probably an SDK bug then [09:22] Cimi: what QString? [09:22] Cimi, filing another one for the pip [09:23] mzanetti, sometimes I notice there is the * sometimes not [09:23] maybe I am confused [09:23] Cimi: you should rarely need a QString* [09:23] Cimi: but always use QString& [09:23] :P [09:24] * mzanetti parla arabo con Cimi [09:24] Cimi: nevermind... just do what you think is ok, push it and I'll review and explain [09:28] mzanetti, I'll do that the compiler thinks is ok :-P [09:28] *what [09:29] Cimi: well, with C++ there are always like 50 good ways to do it and 500 bad ways but still compiling ways :D [09:29] Cimi, bug #1205257 now [09:29] bug 1205257 in Unity 8 ""Recent searches" pointer/pip in dash is shown in the wrong place under narrow layout" [Critical,In progress] https://launchpad.net/bugs/1205257 [09:29] Cimi, I reassigned the other one to the SDK [09:46] Saviq: what's wrong with the hud? i just started the phone app, opened the hud and get quit/compose/add in the hud actions [09:46] certainly the highlighting doesn't work though [09:46] mzanetti, MacSlow : hmm, i have maybe a silly question, if I have a script that has "loop = Glib.Mainloop.new(None, False); loop.run()" and run that script, I can't kill it w/ Ctrl-C I need to Ctrl-Z and kill % [09:46] is this expected? Can I do something so I can kill it w/ Ctrl-C [09:47] tsdgeos, how about voice? [09:48] Saviq: that doesn't seem to work [09:48] is that what the bug was about? [09:48] tsdgeos, yeah, those are the two that Oren reported not working [09:48] tsdgeos, not really, I didn't see it working at all [09:48] well, then we have a problem with "working at all" :D [09:48] tsdgeos, can you try and beat some sh*t out of the hud [09:48] woot [09:49] the hud has grown a button margin :D [09:49] veebers: I have no clue about Glib.Mainloop [09:49] mzanetti: cool, sorry [09:49] veebers: mostly because I always try to avoid it exactly because it has such weirdness all over the place [09:49] let me fix the button margin first [09:49] mzanetti: that sounds like a smart way to live :-) [09:50] tsdgeos, yeah I saw that - prolly sdk / theming [09:50] Button -> AbstractBUtton [09:50] like we did everywhere else, no? [09:50] veebers: not sure if its smart. but seems to have saved me a lot of pain so far :D [09:50] actually no [09:51] since we don't use a Button there [09:51] mzanetti, it doesn't find foreach but I have #include [09:52] Cimi: unfortunately we have the nice Qt macros disabled so you need to use Q_FOREACH() or a regular for() loop. [09:52] ok [09:54] tsdgeos, hmm I just flashed 0725.1 on manta and no hud in sight :/ [09:54] get yourself a mako :D [09:54] tsdgeos, just flashed maguro now, too, checking [09:55] mzanetti, compiles :D [09:55] Cimi: \o/ [09:55] mzanetti, now let's wait the expected crash :D [09:55] heh... [09:55] tsdgeos, yeah, nothing on maguro either [09:56] that is weird :-/ [09:56] mzanetti, s this correct or I need to clear the list in a different way to avoid leak? http://paste.ubuntu.com/5914255/ [09:56] Saviq: you get the hud button but upon release you get nothing? [09:56] or empty stuff? [09:57] tsdgeos, empty [09:57] tsdgeos, just the four disabled toolbar items [09:57] which app? [09:58] Cimi: first, don't clear the list or it would work only once [09:58] mzanetti, I'm clearing the copy [09:58] tsdgeos, phone, gallery, gallery in image [09:58] tsdgeos, all empty [09:58] Cimi: right... don't make a copy :D [09:58] Saviq: do you have hud-service running? [09:59] Cimi: but this reminds me that you should have a unregisterObject() too where you remove it from the list and you call that from the destructor of the GSettingsQml class [09:59] tsdgeos, yeah checking that now [09:59] yeah [09:59] Cimi: otherwise it would crash at some point, yes [09:59] mzanetti, new issue [09:59] mzanetti, how do I initialise GSettingsController [10:00] mzanetti, adding GSettingsController under Shell () [10:00] complains it's not creatable [10:00] Cimi: and as I always like to KISS (keep it short and simple), here's the simplified version that does the same but faster: http://paste.ubuntu.com/5914269/ [10:01] tsdgeos, yeah, it's there [10:01] mzanetti, already did that :P [10:01] Saviq: :/ [10:01] Cimi: you can just use it there as GSettingsController.setPictureUri(foobar) [10:01] Cimi: grep the code for "LauncherModel" for example. Thats a singleton too [10:01] ah ok [10:02] tsdgeos, you on 0725.1? [10:02] mzanetti, I was creating the component, setting an id, and using the id [10:02] mzanetti, thinking was created by the plugin [10:02] Saviq: how do i check? [10:02] tsdgeos, did you flash with --pending? [10:02] no [10:02] tsdgeos, right, so you're on 0716 [10:02] or 22 [10:03] * Saviq tries [10:03] * tsdgeos missed the mail about --pending :-/ [10:03] what does --pending mean? [10:03] tsdgeos: I think it flashes the latest, even though if its not tagged as a "good" one === dandrader is now known as dandrader|afk [10:04] but I missed that mail too [10:04] ok, so let's restart the flashing all over again [10:04] ... [10:04] tsdgeos: --pending flashes daily only do this if you know the image is good === davmor2_ is now known as davmor2 [10:08] nic-doffay: here you go: http://paste.ubuntu.com/5914285/ [10:09] next one! [10:09] ;) [10:09] mzanetti, why didn't the binding work? [10:11] nic-doffay: because the binding was set for all the scopes [10:11] nic-doffay: which means they all fight for the state [10:11] nic-doffay: it might work if written outside the loader [10:12] mzanetti, nice one, confirmed it works. [10:12] Minimised it to one line though. [10:12] nic-doffay: something like this: interactive: Qt.binding(function() { return currentItem.item.selectorVisible; }) [10:12] nic-doffay: can you give this one a shot? ^ [10:12] mzanetti, I see and yeah giving, going to give it a go... [10:12] nic-doffay: misses a ! [10:13] to invert the logic... [10:14] mzanetti, it does work, but it sort of conflicts with the loading bool. [10:15] So I'm keeping it on the loader instead. [10:15] nic-doffay: what's the loading bool? [10:15] dashContent.scopes.loaded [10:15] nic-doffay: how about this: [10:16] interactive: dashContent.scopes.loaded && ! Qt.binding... [10:21] mzanetti, that's what I tried. === dandrader|afk is now known as dandrader [10:31] Cimi: working? [10:31] veebers, odd [10:31] mzanetti, writing the test [10:39] mzanetti, small issue [10:39] mzanetti, so I am trying to check the image was changing [10:39] mzanetti, so I was trying to see if the url of the source of crossfadeImage was changing [10:40] mzanetti, I need to convert the url into a string [10:40] so I can use indexOf and see if it contains the path I need [10:42] who knows how to convert url to a string? [10:42] toString [10:42] lol [10:43] Cimi: doesn't the url have a toString()? [10:44] mzanetti, indeed it has ^^ [10:53] Saviq: are you aware of any activities regarding the SIM pin? [10:55] mzanetti, yeah, you can do it in a terminal already [10:56] Saviq: I mean a qml plugin that I can hook up to the pin entry [10:56] mzanetti, then no, I don't think so [10:56] Saviq: I can do that, especially since I'm sort of blocked on the launcher until vesa and antti are back from vacation [10:57] Saviq: just wanted to make sure theres not someone else working on it already [10:57] mzanetti, but I think it's lightdm's territory [10:57] mzanetti, you should only talk to lightdm when entering the pin [10:57] mzanetti, and it should do its things [11:01] daaamn so many text conflicts [11:01] :((( [11:02] this is brilliant http://i.imgur.com/mjVN8vA.jpg [11:04] larsu: what are you going to offer in the unitymenumodel in terms of the action? [11:04] Saviq: hmm... mterry and me discussed that and I think thats not the right solution [11:04] Saviq: well, dunno [11:05] dednick: I just introduced a "state" role which will give you the action state [11:05] mzanetti, it needs to be like that if lockscreen is in the greeter anyway [11:05] dednick: I think I'm done, but haven't uploaded because qml doesn't like me [11:05] mzanetti, I simply think it should be a separate PAM module that authenticates you against the SIM card in that case... [11:05] Saviq: confirmed --pending image is broken [11:05] mzanetti, if it's not desirable for some reason, I'm listening [11:05] Saviq: regarding hud [11:06] tsdgeos, yup [11:06] going to do some investigation now [11:06] larsu: that has the icon, label, etc in it for the root element right? [11:06] Saviq: hm... not really see why that would go through pam... the sim pin and the lock pin are different things [11:07] Saviq: what if you insert a sim at runtime when pam auth has already happened? [11:07] dednick: exactly [11:07] mzanetti, well, you're not un-authenticated of course [11:08] mzanetti, I don't know the design, but I imagine people would like to be able to authenticate with the same PIN to unlock the SIM and the phone [11:08] mzanetti, and not having to do it twice [11:09] mzanetti, I think it's a UX question [11:09] Saviq: usually those are 2 different things... of course some sort of single-sign-on would be nice, but we definitely need to support both cases [11:09] mzanetti, yes - both cases of course [11:09] Saviq: as the sim pin is only numerical and the phone lock can be alphanumeric [11:10] mzanetti, didn't we already discuss it btw? ;) [11:10] mzanetti, we could store the SIM PIN in the keyring [11:10] mzanetti, but then exactly because the unlock PIN and the phone lock PIN are both 4-numbers [11:10] mzanetti, I don't think it would be good to keep them separate [11:10] people would not understand it [11:11] Saviq: the unlock pin might not always be 4 digits [11:11] mzanetti, mhm [11:11] Saviq: the N9 for example presents you a blue pinentry dialog for the lock code and the green one for the SIM pin [11:11] Saviq: and that's the same for all phones I've been using so far [11:12] not the colors of course... but the fact that they are separate. [11:12] mzanetti, I haven't had a SIM PIN enabled for a few years now ;) [11:12] so I think we need to handle them separately and in case we store the sim pin in the wallet just don't pop up the second dialog [11:13] mzanetti, ok then - still not something for a QML plugin [11:13] mzanetti, it should be handled same as WiFi password [11:13] mzanetti, via a system dialog / notification [11:13] Saviq: well, we need at least a qml plugin to change the pin from the settings app? [11:13] seb128, what's your say ↑? [11:14] mzanetti, yeah, since when are *we* doing the settings app? ;) [11:14] hehe [11:14] mzanetti, https://bugs.launchpad.net/unity8 if you're bored :P [11:14] Saviq: Just saying... it'd be dumb if we write some stuff for it and the settings people start from scratch again [11:14] mzanetti, yeah, but we're not going to write it, so we're good :) === MacSlow is now known as MacSlow|lunch [11:15] Saviq: cool, I'll check it out. I'm indeed a bit bored (as I can't really continue on the launcher right now) [11:15] mzanetti, there's also enough reviews for all of us I think [11:15] mzanetti, no time to be bored [11:15] * Saviq takes out a whip [11:15] Saviq: they are all claimed by someone [11:15] *crash8 [11:15] Saviq, mzanetti: sure, we can add an UI for PIN stuff, but we need a design for it [11:16] seb128, there isn't one? [11:16] Saviq, no, https://wiki.ubuntu.com/SystemSettings has "Phone, including SIM services" [11:16] Saviq, which points to https://wiki.ubuntu.com/PhoneApp#Settings [11:16] but nothing there has design for PIN [11:16] seb128, that looks like an omission [11:17] mpt, ^ [11:17] dednick: so the issue I'm facing is that qt is never calling QAbstractItemModel::data() for the new role I've just added. It works for all other roles. Any idea how to debug that? [11:17] mzanetti, btw https://wiki.ubuntu.com/SecurityAndPrivacySettings#Phone_locking [11:17] mzanetti, "4-digit PIN" [11:17] dednick: it's in roleNames(), and qml doesn't complain about a undefined identifier. So it picks that up [11:18] Saviq, that's different from SIM PIN [11:18] mpt, yeah, just saw https://wiki.ubuntu.com/SecurityAndPrivacySettings#SIM_PIN [11:18] seb128, ↑ [11:18] right [11:18] Fresh off the drawing board yesterday [11:18] mpt, don't you think people will get confused between a 4-digit phone lock PIN and a separate 4-digit SIM PIN? [11:18] so we support only 4 digit pins? you know that there are services that require >=6 digits by specification. for example microsoft exchange [11:19] Saviq, oh, doh, that got added yesterday [11:19] Saviq, I do, yes. [11:19] Saviq, thanks [11:19] mzanetti, for that there's password, right? [11:19] mzanetti, you can have a 6 digit password [11:19] larsu: hm. i was seeing that the other day with the old model we use and couldn't quite work it out. what value is it giving when you do "model.state" from qml? [11:19] hmm... would work I guess, altough not really nice imho.. but ok [11:19] mpt, that's why I was feeling like the PIN locking should be tightly coupled to passphrase lock [11:20] mzanetti, and let's face it - 6-digit PIN isn't much better than a 4-digit one is it ;) [11:20] dednick: an empty string [11:20] Saviq, or just rename the 4-digit PIN to something else, e.g. "keycode", "passcode" [11:20] mpt, at least [11:20] mpt, erm [11:20] dednick: is there a limit on the amount of roles? [11:21] mpt, I said that wrong " that's why I was feeling like the PIN locking should be tightly coupled to SIM PIN lock" [11:21] mpt, that's what I meant ↑ [11:21] larsu: not sure. give me a sec and i'll try inserted one quick into mine. [11:21] mpt, on https://wiki.ubuntu.com/SystemSettings ... should "Phone, including SIM services" be update to not have "including SIM service", since it's not under the phone section (which is a bit weird) [11:22] Saviq, I knew what you meant, but I disagree ... You might have stuff on your phone you want to protect while it doesn't even have a PIN in it. (Especially if it's a tablet.) [11:22] Saviq, doesn't even have a SIM in it, I mean. [11:22] +1 ^^ [11:22] larsu: i dont think you can call it "state". :) [11:23] there's already a qml property called that [11:23] mpt, mzanetti that would still work if the device PIN lock was a "master" lock that happened to unlock the SIM, too [11:23] dednick: larsu: you should still be able to access with "model.state" [11:23] it's probably fetching it from the delegate [11:23] dednick: larsu: still not nice to produce such name collisions if it can be avoided [11:23] mpt, also, do we (not) want to store the SIM PIN in a keyring (only if device locking is enabled)? [11:23] dednick: argh. thanks. [11:23] mzanetti: ya, I was getting it through the delegate [11:23] seb128, SIM services are indeed under the Phone section. [11:23] larsu: i havent verified [11:24] mpt, ?! [11:24] mzanetti: how can I avoid name collitions if I'm forced to use the same namespace? [11:24] Saviq, but then they'd get out of sync when you swapped SIMs or used the SIM in a different device. [11:24] seb128, https://wiki.ubuntu.com/PhoneApp#Settings [11:24] larsu: by not naming the role "state" :D [11:24] mzanetti: tbh, the whole delegate handling in qml is much too magic [11:24] mpt, why are they on the privacy... oh, call diversion is a SIM service? [11:25] larsu: I don't think it is... can I help you with anything (explaingin something) ? [11:25] mzanetti: how am I supposed to know that that already exists?! [11:25] larsu: because every QML item has a property named "state" [11:25] mpt, I guess I'm just enough of a phone nerd to understand all the meaning of SIM, ignore me [11:25] mzanetti, MacSlow|lunch: ping [11:26] veebers: pong in one minute [11:26] mzanetti: ack [11:26] mzanetti, Saviq https://code.launchpad.net/~unity-team/unity8/unity8.background_gsettings/+merge/174958 [11:26] seb128, it says "including", not "comprising" :-P [11:26] larsu: https://qt-project.org/doc/qt-5.0/qtquick/qquickitem.html [11:26] Cimi: Saviq: will review in a bit [11:26] mpt, well there is 0 mention of "SIM" on the phone page, I didn't realise things like "horoscope" were "SIM services" [11:26] veebers: pong now :D [11:26] seb128, I understand that call diversion and call waiting are not SIM services. [11:27] mzanetti: I guess plus all the properties of the delegate? [11:27] mzanetti: the real problem is that this is incredibly hard to debug [11:28] larsu: yeah. everything inherits QQuickItem (very few exceptions - ignore them for now) [11:28] larsu: in the background this is standard C++ with inheritance [11:28] mzanetti: hey, I just pushed up my changes with the changes we discussed (took me longer than expected :-\) [11:28] mpt, I know they would - I'm just really asking questions - not trying to push solutions :) [11:28] mzanetti: would you be able to take a look and ensure that it works for you and or you think it'll suite [11:28] mpt, but I agree, at least a rename of the PIN locking are needed [11:29] mzanetti: right, I understand that. I just think putting role names in the same namespace is suboptimal :) [11:29] larsu: I agree it has some pitfalls at the beginning. but once you got a grasp on it its amazingly simple [11:29] larsu: no... not saying you should put them in a namespace... just don't name it simply "state" but rather something like "networkState" (in case of the network delegates for example) [11:30] mzanetti: what happes if a future version of qt adds a networkState property to qquickitem? [11:30] larsu: and in case you can't/don't want to avoid the name collision you can access the model's roles in the delegate through "model.rolename" [11:31] mzanetti: ah, that's much better! [11:31] larsu: unlikely I'd say... but sure, that would cause your code to break. so it might make sense to always use model.rolename [11:31] veebers: checking out your stuff now [11:31] mzanetti: awesome, cheers [11:33] seb128, zero mention apart from the heading that says "SIM Services". :-P [11:34] mpt, DOH ;-) [11:34] larsu: btw your argument is also valid for other stuff. for example Qt defines a "foreach" macro and if I'm not mistaken boost does so too. Now the C++0x standard defines that too... [11:34] I guess that's the downside of getting updates :) [11:34] mpt, btw the list of services in that section seems a bit random, is that supposed to be hardcoded, or coming from the SIM itself? [11:35] seb128, it comes from the SIM. Mine has "Traffic Line", which might be useful if I had a car. [11:36] veebers: hmm... failed with the Xlib sequence thingie [11:36] mzanetti: what, really? which test are you running? [11:36] veebers: unity8.shell.tests.test_notifications.TestNotifications.test_interactive === MacSlow|lunch is now known as MacSlow [11:36] mzanetti: fyi I only updated test_simple_interactive [11:36] ack [11:37] veebers, poing... just reading the backlog... [11:37] mzanetti: oh and d;oh didn't remove the other notification_helper stuff sorry :-\ [11:37] seb128, so by including "Horoscope" I'm joking a little, in the same way as calling the carriers "Aubergine" and "Pi UK" [11:37] MacSlow: hey, good lunch? :-) Was just saying have pushed my changes and was hoping to get you guys to have a look and let me know if you were comfortable with work with it [11:37] veebers, pull atm... [11:38] mpt, I see ;-) [11:38] mpt, I can't even find those services on my android phone [11:38] veebers: are you dropping the old stuff? [11:38] mzanetti: yeah will be, just didn't do it in this commit [11:38] mpt, I wonder where they hide them :p [11:39] veebers, mzanetti: looking good here... both scenarios pass [11:40] can't believe it until I see it :D [11:40] veebers, mzanetti: I'll work that up extending it to a snap-decision too [11:40] mzanetti: well, c++ is a major version upgrade and requires a recompilation of your program. I could break an app by installing a minor update to qt (if they added networkState), without even touching my app [11:40] mzanetti, I can make a screencast... [11:40] mzanetti: so really, in this case adding a property would be an API break [11:41] larsu: yeah... I agree. the QQuickItem api didn't change since the first release tho. so I'd say it should be pretty save to rely on it except maybe when Qt6 comes around [11:42] MacSlow. mzanetti: if you're both happy with that update, then I'll take off for the night [11:42] mzanetti: ah okay, that makes it a bit better. I'd still prefer that "model." was the only way :) [11:42] larsu: but in general you suffer from this issue everywhere you use inheritance, no? if the base class changes and adds a method/property/whatever which you already had in a subclass you're there [11:43] Saviq: and now it's working :-S [11:43] tsdgeos, yeah, that's what I experienced [11:43] tsdgeos, it's quite random [11:43] veebers, it's working for me here... I still need to add the "dbus-launch" thing [11:43] MacSlow: ah yes, but my intention was to have something that created interactive notifications :-) [11:44] veebers: *applause* [11:44] veebers: thanks a bunch and enjoy your weekend! [11:44] veebers, I'll do that dbus-laucn thing... thanks a lot... party hard! :) [11:44] MacSlow, mzanetti, veebers I hope we're only dbus-launching for the notifications test do we? [11:44] mzanetti: cool, I'm glad this solution works (finally) [11:44] Saviq, yes it will be restricted to those [11:44] Saviq: yes [11:44] Saviq: yeah. and I actually vote for launching it for every test case and stopping it after every test case [11:44] mzanetti: yeah, that's true. [11:44] mzanetti: +1 [11:45] Saviq: i.e. not even only for the notifications suite [11:45] seb128, I don't know, but here's a screenshot of SIM services on Android, and it really truly contains horoscopes. http://forum.vodafone.co.uk/t5/image/serverpage/image-id/1235iB554778AAC31120D/image-size/original?v=mpbl-1&px=-1 [11:45] Saviq, mzanetti: first I'll do it in the setUp()/tearDown() for hte notification tests [11:45] mzanetti: oh, perhaps -1 then :-P why for all tests? [11:46] mzanetti, MacSlow: right I'm off, time for a beer. Sorry it took so long to get to this point :-\ [11:46] only in setUp()/tearDown() for the notifications I'd say and afaik they are called for each test case anyways. so that should be fine [11:46] seb128, actually, I'm wrong, that's BlackBerry. :-) [11:46] mzanetti, veebers, MacSlow k! [11:46] MacSlow: If you have any other issues/questions fire me an email, I'll be around tomorrow morning [11:46] veebers: enjoy your beer! now go away! thanks again! [11:46] mzanetti: ^_^ o/ [11:47] mpt, googling only returns me sim info apps from the google play [11:47] veebers, ok...*high.5* [11:47] seb128, yeah, I see references to a "SIM Toolkit" app [11:47] seb128, mpt it's something the carriers add to the SIM [11:47] seb128, mpt I have "SIMextra" on the N9 [11:47] Saviq, yeah, I was trying to see how/where android displays those infos [11:47] Saviq, but I don't find anything in the settings for it [11:47] seb128, mpt and it's a simple drill-down UI [11:47] Saviq, I'm starting to wonder if they install something for it by default [11:48] seb128, there's even an erotic horoscope here [11:48] haha [11:48] haha [11:49] mpt, you should include that in your designs! [11:49] I wonder if anyone uses that *at all* [11:50] it took me like 20 taps to get to the actual horoscope [11:50] seb128, mpt I think the few useful things are like when you can request the APN settings to be sent to the phone [11:50] not that it works for me here anyway... [11:51] jeez somebody is probably actually paid to maintain that stuff.. [11:51] yikes 21 invites, that's new... [11:52] seb128, anyway, SIM services is not scheduled for now, so I'd concentrate on the call waiting and diversion :-) [11:52] mpt, yeah, those are higher in the list for sure [11:56] mpt, is it wanted that https://wiki.ubuntu.com/SecurityAndPrivacySettings?action=AttachFile&do=get&target=phone-security-privacy.png doesn't have ">" for "phone locking" or "lock when idle"? [11:57] seb128, that was a mistake. I'm in the middle of redoing that top-level screen, because the "SIM PIN" item was the last straw making it too long. [11:58] shrug [11:58] I better not start on it then [11:58] sorry [11:58] no worry [11:58] mhr3_, hey [11:58] mhr3_, https://wiki.ubuntu.com/SecurityAndPrivacySettings?action=AttachFile&do=get&target=phone-security-privacy-search.png [11:59] mhr3_, do you have a way to tick on/off individual services like in that screenshot (ignore the title, it's "Dash search") [11:59] mhr3_, or just the gsettings key you gave me the other day? [11:59] Cimi: who wrote the GSettings plugin? [12:00] seb128, we need to clarify that with design, scopes can be enabled disabled in the dash [12:00] mpt, ^ [12:00] seb128, so for now, let's just do the global switch [12:00] mhr3_, ok, I'm going to start by adding the "phone only/phone and internet" from that dialog, without the sources [12:00] Cimi: the naming does not match with conventions. should be qtdeclarative5-gsettings-plugin. Can you forward this to the appropriate people? [12:00] seb128, sounds good to me [12:00] mhr3_, thanks [12:01] mzanetti, what? [12:01] seb128: the package name does not comply with naming standards for the rest of our packages [12:02] mzanetti, do we care? /me doesn't want to go through a rename/transition [12:03] seb128: I just know that like 3 months ago we had all different namings and then something happened so that everyone renamed their plugins [12:03] seb128: so I guess if you leave it now at some point someone will show up and complain for real [12:03] mzanetti, ok, alright, I'm going to rename it, thanks for pointing it out [12:06] mzanetti, larsu [12:07] Cimi: thanks. seb seems to take care of it [12:08] thostr_: who's hud nowadays? [12:09] tsdgeos: Ted [12:09] ok [12:10] i'm suspecting he did some changes that upsets the hud ui [12:11] Cimi: do the tests work for you? [12:11] Cimi: I get GSettingsController is not defined [12:12] mzanetti, I rebuild.. [12:13] mzanetti, unless I forgot to import GSettings 1.0 in the tst_SHell.qml [12:13] * Cimi checks [12:14] mzanetti, I added and pushed [12:14] mzanetti, let me know if works now [12:17] works here [12:19] Cimi: yep. works now [12:19] mhr3_: do we have any dee cli dumper? [12:20] tsdgeos, yep, dee-tool [12:20] dee-tool -m model_name will dump it [12:20] ok, tx [12:21] Cimi: review done === _salem is now known as salem_ [12:29] mzanetti, if you're bored out of your guts ;) you could try helping mterry in getting the camera and phone into the greeter [12:29] mzanetti, as it seems it's the only valid approach we'll have for 13.10 - simply loading the apps' QML into a Loader in the greeter [12:30] mzanetti, but obviously would be good to get mterry's status of this === 20WACTA0R is now known as tvoss [12:30] Saviq: ack. === jhodapp|afk is now known as jhodapp [12:39] dandrader: is this still valid? imho works quite nicely since you added the DDA: https://bugs.launchpad.net/unity8/+bug/1130102 [12:39] Launchpad bug 1130102 in Unity 8 "[W/M] gestures in apps near the edges are detected as edge swipe" [Critical,In progress] [12:41] mzanetti, hmm, I think it will only be fully fixed once we have at least scheme to forward rejected gestures to apps, or, optimally, the accept/reject scheme [12:41] dandrader: oh... I thought that would already be there [12:42] dandrader: ok then. nvm [13:03] dednick: sorry for the delay, had an unexpected meeting [13:03] dednick: patch is done, except that Q_EMIT(dataChanged()), does't work [13:03] * larsu investigates [13:03] larsu: ok. is it in LP yet? [13:05] dednick: it is now :) [13:06] larsu: :) ta. i'll take a look in a sec [13:11] Trevinho, andyrock, bregma, getting http://paste.ubuntu.com/5914789/ with latest nux/unity in S [13:12] mzanetti: when a single row in my model changes, I'm emitting dataChanged(QModelIndex(pos, 0), QModelIndex(pos, 0)). Is that right? [13:12] mzanetti: qml doesn't seem to pick that up [13:13] larsu: sounds correct. [13:13] well, S nux and trunk unity [13:13] larsu: oh no [13:13] larsu: you're creating a new QModelIndex which is not from this model [13:13] larsu: try this: [13:13] emit dataChanged(index(pos), index(pos)) [13:13] mzanetti: ya, sorry, that's actually what I'm doing [13:14] Q_EMIT model->dataChanged(model->index(position, 0), model->index(position, 0)); [13:14] larsu: hmm... should work I'd say. can I see the branch? [13:15] mzanetti: sure: http://bazaar.launchpad.net/~larsu/qmenumodel/add-unitymenumodel/view/head:/libqmenumodel/src/unitymenumodel.cpp#L238 [13:15] mzanetti: can I emit signals from outside the class? This is in a C callback... [13:15] mhr3_, how did you get that? [13:16] andyrock, closed a preview [13:17] mhr3_, do you get it all the time? [13:17] or is it random? [13:17] larsu: should work I'd say... signals are just public functions and Q_EMIT is actually defined to nothing [13:17] not sure if all the time, but it's not hard to hit [13:17] ok [13:17] larsu: the G stuff is black magic to me so no clue whats happening in there [13:17] andyrock, hm, well, pretty much all the time [13:17] larsu: you sure the position is correct? [13:18] mzanetti: yes, the position is correct (I even tried emitting dataChanged for (0, nrRows) [13:18] hmm... must be.. as its used to get the item itself too [13:18] larsu: still nothing, even if you emit it for all the rows? [13:19] mzanetti: yep :( [13:20] larsu: you sure the contents in the model are updated? I don't see that happening here (but as I said... lots of stuff I don't understand in here) [13:20] mhr3_, ok I'm building nux trunk [13:20] mzanetti: yeah, I have a qDebug in there [13:20] andyrock, S nux is enough [13:20] tedg: hi, did you do any change to the hud recently? [13:20] larsu: do you have a qDebug() in the model's data() method? [13:20] larsu: if dataChanged is emitted it should query data() [13:21] mzanetti: no, good idea, I'll try [13:21] tedg: we are getting bad stuff like https://bugs.launchpad.net/unity8/+bug/1205097 on the dailies [13:21] dailys [13:21] Launchpad bug 1205097 in Unity 8 "HUD isn't working" [Critical,Triaged] [13:21] whatever the plural of daily is :D [13:21] tsdgeos: dailies [13:22] y -> ie in plurals [13:22] mzanetti: data doesn't get called as a result of dataChanged() [13:22] tsdgeos, I think that Wellark did a fix last week-ish... but I don't think it'd be an issue. === boiko_ is now known as boiko [13:22] tedg: well, we haven't changed anything in months :D [13:23] maybe something lower in the stack broke? [13:23] larsu: connect a private slot inside the model to dataChanged and see if it gets actually emitted [13:23] tsdgeos, did you manage to confirm where the result highlighting failed? [13:23] tsdgeos, Could it be transition from the HudQt to Unity Actions API? [13:23] tsdgeos, and if voice works, when hud itself does? [13:24] Saviq: well, on phablet-flash yes it does not work, but not sure "how old that is" and if the feature should be there, if using --pending, nothing works so :D [13:24] Saviq: not sure it makes any sense on investigating the problems on the "old" image if the "new" one is broken++ [13:24] tsdgeos, how about hud-cli? would that get at least the highlighting? [13:24] tsdgeos, no, of course not [13:25] tsdgeos, That could also be changing platform API. Are you guys still sending data through there? [13:26] tedg: which data? [13:26] tsdgeos, Window change, new app, etc. [13:26] Basically, is the image still using Surface Flinger. [13:26] the unity8 code does do anything of that [13:27] mzanetti: just tried that, it does get emitted [13:27] It will :-) [13:27] so yes, if that changed/broke it may well be that [13:27] tedg: it will, but it's not using mir yet [13:27] if that was the question [13:27] tsdgeos, Yeah, I wasn't sure where things were there. [13:27] mzanetti: do I need to do anything special in the delegate? [13:27] tedg, yes, we're still on surface flinger and the "old" ubuntuappmanager [13:28] larsu: no... you shouldn't need to. [13:28] larsu: try this in QML: [13:28] Saviq: the hud-cli doesn't print highlighting so can't tell about that [13:28] larsu: rollback [13:29] tsdgeos, yup [13:29] larsu: add another signal in the model... just a dummy one and emit it somehow [13:29] btw, my notify-osd in the desktop seems as if just crashed [13:29] mzanetti: k, give me a minute [13:29] larsu: then in QML: Connections { target: model; onSignal: print("yay! signals from models work") } [13:30] larsu: where onSignal is "on" and "model" is the qml variable name of the model [13:32] mhr3_, i get a crash too [13:33] andyrock, good :) [13:33] andyrock, i wonder what changed though, it worked fine two days ago [13:33] mhr3_, i'm checking that too [13:34] mzanetti: that works, even when I use onDataChanged as the signal [13:34] andyrock, although the entire unity stack was pushed to s yesterday [13:34] larsu: ok. now it gets werid [13:34] weird [13:34] larsu: one sec.. reading the docs [13:34] :D [13:34] andyrock, still, ap testing didn't have the issue, there are quite a few tests that close previews [13:36] that's weird indeed [13:38] larsu: ok... so the only thing I could imagine now is that at some point you break the binding in QML [13:38] larsu: for example: [13:38] larsu: initially its like this: Label { text: model.networkStatus } [13:39] larsu: and later it happens that you do a text = "somethingElse" [13:39] larsu: as soon as you use = the property gets overwritten and the binding is broken up [13:39] larsu: other then that... I'm puzzled too [13:40] mzanetti: I'm not doing that. Qml is here: http://bazaar.launchpad.net/~larsu/qmenumodel/add-unitymenumodel/view/head:/examples/unityqmlmenumodel.qml#L76 [13:40] larsu: ok. one minute. my turn in the standup now [13:40] mzanetti: ha, sorry to keep you from that :) [13:41] mzanetti, https://code.launchpad.net/~seb128/gsettings-qt/rename-binary-package/+merge/177141 btw [13:42] mzanetti, the name in gsettings-qt is right, it's the other ones that are wrong, see the comment from kenvandine on there [13:43] seb128: uh... sorry then :/ [13:43] seb128: I just noticed that all the others now end with "-plugin" except this one [13:43] mzanetti, when we figured out how to properly version those packages we changed that [13:43] started with the hud plugin [13:43] larsu: got a problem. i need access to the root item action. to get the indicator icon. [13:43] and would change them as the modules break api [13:43] kenvandine: yeah, I read your comment [13:44] larsu: i think we need a invokable data(int row, string role) function. [13:45] dednick: that's why I just added actionState.... or am I misunderstanding your question? [13:45] mzanetti, sorry for any confusion [13:46] larsu: yeah, but i can only access using a listview or repeater. [13:46] mhr3_, not sure but can be this? http://bazaar.launchpad.net/~unity-team/nux/trunk/revision/802 [13:47] mhr3_, the crash is in the VScrollbar dtor [13:47] and there TimerObjects there [13:47] *there are [13:47] dednick: ah, I didn't know that wasn't possible. Can I just declare the data() function as Q_INVOKABLE? [13:47] larsu: ok... I might have an idea [13:48] dednick: if not, we'll need another name :) [13:48] larsu: re Q_INVOKABLE data(). no that won't work [13:48] larsu: there is no QModelIndex in QML [13:48] larsu: common practice is to add a Q_INVOKABLE get(int index, const QString &role) [13:48] ah, right [13:48] larsu: it's a list model. only 1 row, no parents [13:48] andyrock, hm, maybe that just uncovered the underlying issue, if there was a leak before noone would ever notice that the destruction isn't working properly [13:48] so can just access by row [13:48] larsu: regarding your datachanged issue: [13:49] dednick: will add you a get() method as mzanetti proposed [13:49] larsu: I suspect it doesn't update because its wrapped in a Component [13:49] larsu: cool. thanks [13:49] larsu: add "property string actionState: model.actionState" to the Loader [13:49] larsu: and in the component, refer to that one [13:51] mzanetti: nope, same issue [13:52] larsu: I'm lost just looking at the code. would need to build/test it myself now [13:52] larsu: how easy is it to do that? [13:53] mzanetti: it would be great if you could find the time to do so at some point (doesn't need to be today). I'm a bit lost [13:53] mzanetti: very easy if you're running saucy [13:53] larsu: ok.. can you ping me on monday? [13:53] larsu: I would need to leave now [13:53] mzanetti: will do. Thanks for your help so far! [13:53] larsu: np. talk to you on monday then [13:54] mzanetti, I fixed what you asked === dandrader is now known as dandrader|lunch === salem_ is now known as _salem [13:57] Cimi: looks good to me... however, as I wrote some code in there, would you mind testing/reviewing the parts I did? [13:58] holy crap! I closed mumble but still hear Saviq talking! === _salem is now known as salem_ [13:58] * mzanetti is scared [13:58] lol [13:58] :D [14:01] mzanetti, only had a concern on the fact that we change gsettings now [14:02] mzanetti, in case the image is wrong we fallback by setting the key [14:02] mzanetti, not sure it's correct [14:02] I think it's better to have a fallback but not resetting the key [14:03] Cimi: yeah... I see your point.... Saviq, what's your opinion? [14:03] Saviq: if the settings contains an invalid path to a picture. [14:03] Saviq: is it ok to change the settings entry to the default picture or should we leave the broken settings entry and just correct in unity? [14:04] Saviq: my behaviour branch is here: lp:~nick-dedekind/unity8/indicators-behaviour.tabs [14:04] Saviq: but it also needs lp:~tpeeters/ubuntu-ui-toolkit/tabbar-expose [14:04] mzanetti, leave it be [14:05] Cimi: ^ [14:05] mzanetti, as the image might only be temporarily unavailable (for a reason I can't think of) [14:05] dednick, cheer [14:05] s [14:05] Saviq: right. good point [14:06] Cimi: ok... can you revert that back somehow please? If you're busy I'll do it on monday. But I have to run now. [14:23] mzanetti, still here? [14:23] mzanetti, how about this? http://paste.ubuntu.com/5914997/ [14:23] or Saviq ^ [14:24] Cimi, that won't work since you're unloading the image [14:24] Cimi, so backgroundImage.status will change [14:25] I am confused [14:25] Cimi, I didn't follow the changes [14:25] ok [14:25] I'll wait michael [14:25] Saviq, is he eod? [14:25] Cimi, but you did have a "testing" image there, right? whose source you set to the gsettings image [14:25] Cimi: also, this will break the binding [14:25] mzanetti, no it won't [14:26] mzanetti, oh indeed, shell.background [14:26] yep [14:26] mzanetti, was thinking of something without adding an extra property [14:26] Cimi: I don't have a super-quick answer right now :/ [14:26] ok [14:26] Cimi: need to figure on monday [14:27] ok [14:27] Cimi: you can extend the test to set a broken url and then a good one again btw [14:27] mzanetti, http://paste.ubuntu.com/5915015/ [14:29] sil2100, http://10.97.0.1:8080/job/autopilot-saucy-daily_release/632/console [14:29] sil2100, from everything I can read there - check failed on both ati and intel due to jenkins failure :/ [14:32] Cimi: didn't test it, but reading it its a +1 [14:32] Cimi: might cause a binding loop tho [14:32] mzanetti, only concern is the status !== Image.Error [14:32] mzanetti, not sure it should be == Image.Ready [14:33] or check for loading/null [14:33] which loop? [14:34] shell.background -> backgroundImage.Status -> shell.background [14:34] ... [14:38] Saviq, which is the doc to get more familiar the model we want to use for the additional UI-elements... or should I just read some indicator sources? [14:38] Saviq: ah, hm, ok will look at this as well, since I'm checking problems with the SDK stack now [14:38] sil2100, thanks [14:38] Since the check failed by success (tm) [14:39] dednick, can you point MacSlow to any reading available about gmenumodel / qmenumodel? we want to use it to drive system dialogs (wifi password entry / SIM unlock etc.) [14:40] Saviq: sure [14:40] dednick, ok... were is the beef? :) [14:42] MacSlow, just to recap on "paper" so that we're on the same page - the app would send an interactive notification with a hint identifying where the model for the dialog can be found (it's probably going to be a DBus name+path for our current implementation) [14:42] MacSlow: not much documentat i'm afraid, but there are a few examples in code. [14:43] Saviq, sure... that's what I took away from the talk after the standup [14:43] MacSlow, if the frontend can handle that hint - there will be no communication for the "actions" part of the notifications spec - maybe just "close" notification if someone dismisses the notification itself [14:44] Saviq, yeah... "close" will still be needed [14:44] Saviq, I'll try to come up with a proof-of-concept as fast as possible [14:44] MacSlow, otherwise tapping on the notification will invoke the single available action and the app will have to come to front and handle everything internally [14:45] MacSlow, we might need to add something to the backend to prevent it dismissing the dialog if it's open or something [14:45] MacSlow, and decide what has priority - SnapDecision or Dialog? [14:45] MacSlow: i'm unfamiliar with the system dialogs, so i dont really know what you need to know about. [14:46] Saviq, other thing is to not have those timeout at all [14:46] MacSlow, we have that for both interactive and snaps, no? [14:46] MacSlow, but yeah, some backend adaptations will need to happen [14:47] Saviq, well snap-decision have a timeout (for the call to be rejected) [14:47] MacSlow, I think it can even be treated/sent as a SnapDecision in the end... but one with just one "fallback" action [14:47] MacSlow, timeout? shouldn't the app decide when it wants to stop? [14:48] MacSlow: newest code for the menumodels is https://code.launchpad.net/~larsu/qmenumodel/add-unitymenumodel . although it's not quite done yet. [14:49] Saviq, there was a timeout-issue with the phone-app when an incoming call was ignored [14:50] MacSlow, hmm I'd have thought the only point then snaps would "time out" is when the app requesting it would go away [14:50] MacSlow: UnityMenuModel is probably all you need. There's an example with a listview in the example folder. [14:50] MacSlow, otherwise it should be the app's responsibility to remove the notification after a timeout that made sense for it [14:51] MacSlow, but maybe I'm not thinking about something [14:52] Saviq, I don't recall all the details right now, but I need to make any consumer of the notifications to use them correctly (doc writing and making lots of noise about it), otherwise we'll end up in a mess... know that from old notify-osd [14:53] MacSlow, right I agree we need an overall timeout (but a huge one) [14:53] Saviq, but doc-writing (and how-to examples) always gets pushed back again and again due to higher prio tasks [14:53] MacSlow, that would kill poorly-behaved ones [14:53] MacSlow, just like tests ;) [14:53] Saviq, 60 secs was in the air once [14:53] MacSlow, but under that I'd have thought the apps would decide for interactive things [14:54] aaanyway [14:55] Saviq, also the idea of a "kill if pid no longer exists" in the backend was a wanted feature, which checks for the triggering process' pid before a notification is actually displayed... and if that pid no longer is found, the notification is just dropped without being displayed. [14:55] Saviq, but getting hold of that pid is not really easy [14:56] Saviq, right... bigger fish to fry [14:56] MacSlow, hmm couldn't we just look at the DBus id of what connected? [14:56] MacSlow, not per PID, but if it goes away, it'd drop from DBus at that point? [14:57] Saviq, if that's good enough [14:57] MacSlow, I'd have thought it would be - you keep track of the clients that sent interactive notifications [14:57] MacSlow, and if they're gone - clear all of those out [14:58] MacSlow, although that might be tricky with the app lifecycle... [14:58] Saviq, old notify-osd kept track of the dbus-sender... not sure if the current backend still does that [14:59] Saviq, just looked... it does not. [14:59] Saviq: the failure *might* have something to do with our experiments with the AP machines, should be ok now [14:59] sil2100, thanks [15:00] Saviq: it might be fixed after this [15:00] MacSlow, I think that - plus a big timeout for misbehaving apps (maybe even tracking them and reducing their timeout as a punishment) should be enough, I think [15:01] Saviq, :) [15:01] Saviq, keeping black-list ;) [15:02] MacSlow, yup :) === dandrader|lunch is now known as dandrader [15:02] MacSlow, I wonder if we should append / update notifications by the same sender... [15:03] MacSlow, I hate like xchat and u1 client queue every single notification as a new one.... [15:03] Saviq, that's what the append-hint is for [15:03] MacSlow, I know [15:03] MacSlow, but apps obviously are stupid ;) [15:03] MacSlow, maybe there should be a "no-append-hint" [15:04] Saviq, devs don't read the existing docs and examples :) [15:04] MacSlow, so that we append *unless* explicitly prevented [15:06] Mhr3 I was getting that crash when I changed the nux abi... Recompiling everything fixed it for good to me... [15:07] Andyrock? [15:09] Saviq, on the theming bug, I don't think I touched that.. https://code.launchpad.net/~unity-team/unity8/unity8.colour_palette/+merge/174678 [15:10] Saviq, it's probably a default value set with the theme, I'm investigating [15:10] Cimi, don't [15:10] Saviq: published! [15:10] sil2100, awesome - thanks [15:10] Cimi, I've already moved the bug under SDK's jurisdiction [15:11] but there's a bug assigned to me [15:11] https://bugs.launchpad.net/unity8/+bug/1205257 [15:11] Launchpad bug 1205257 in Unity 8 ""Recent searches" pointer/pip in dash is shown in the wrong place under narrow layout" [Critical,In progress] [15:11] Cimi, ↑ this one is [15:11] Saviq, https://bugs.launchpad.net/unity8/+bug/1205257 [15:11] yeah [15:11] Cimi, I don't think that's SDK's [15:11] Cimi, since in "wide" it works fine [15:12] Cimi, unless you can confirm it is an SDK bug in a small testcase [15:12] Saviq, how can the colour palette affecct this? [15:12] Cimi, it can't [15:12] Cimi, ;) [15:12] Cimi, no one said it did :) [15:12] so why you said was my theming thing? [15:12] maybe I misunderstoof [15:12] Cimi, different bug [15:12] ok [15:13] Cimi, it was https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1205094 [15:13] Saviq, so it's not a regression [15:13] Launchpad bug 1205094 in Ubuntu UI Toolkit "Popovers under SuruGradient theme are white-on-white" [Undecided,New] [15:13] Cimi, it is [15:13] Cimi, it was fine when I coded it ;) [15:13] Saviq, caused by what?? [15:13] Cimi, that's what you're supposed to find out! [15:13] ;) [15:13] Saviq, which is fine [15:13] Cimi, if you isolate it to SDK - reassign [15:13] Saviq, I thought it was due to my theming branch but that didn't make sense [15:14] Cimi, ideally with a small test app that shows the issue [15:14] Cimi, it is still possible that it's an SDK bug, that's what we need to find out [15:14] ok [15:14] What's the state-of-art for flashing a device with a unity-mir image? Still to flash a special saucy-preinstalled-phablet-armhf.zip ? [15:17] Saviq, it's something the just needs to change in the backend ("no-append-hint" instead of explicit "append-hint") [15:17] MacSlow, yeah, but that's a freedesktop spec, right? or is it ours? [15:17] Saviq, ours "x-canonical-append-hint" [15:18] MacSlow, I'd vote for going the other way - it should be default to append [15:18] Saviq, maybe bounce that against mpt too [15:18] MacSlow, but yeah, tricky to change that now (or maybe now's the best moment) [15:18] MacSlow, of course, I won't say that's what you should do ;) [15:19] mpt, what do you think about reversing the "append-hint" for notifications? [15:19] mpt, i.e. appending by default, not appending when explicitly prevented? [15:19] Saviq, yeah... I'd rather experiment with such things when the todo-list isn't that full :) [15:19] larsu: one more found :) the icons in root action are in gicon format. need to deserialise them. [15:19] dednick, as in the .GIcon() stuff? [15:19] dednick, we need to support that for dash anyway [15:20] dednick, and there's a dumb implementation already [15:20] dednick, IconUtil.js [15:20] Saviq: it ends up as a variantlist [themed,audio-volume-high-panel,audio-volume-high,audio-volume,audio] [15:21] dednick, ah, it needs to be to_string()'ed on the other side [15:21] dednick, or, somewhere [15:21] Saviq, I think that would often be weird ... You'd have apps producing notifications that said things like "Disconnected" "Connected" [15:21] Saviq: no, to_string is stupid and deprecated [15:21] where does the . GThemedIcon() syntax come from? [15:21] Saviq: to_string [15:21] mhr3_, ↑ fight! [15:21] Saviq, because they weren't bothering to cancel the earlier one, and they didn't know to cancel appending either [15:22] mpt, OTOH most of the apps now fill your notifications queue with a notification after notification (even our own ones - U1) [15:22] Saviq: whoever uses that needs to fix their code. Unless you want to depend on GdkPixbuf... [15:22] mpt, so it's not that much better [15:22] Saviq, it's far from perfect, but I do think it's much better :-) [15:23] It's just laggy rather than oxymoronig [15:23] c [15:23] dednick: good point, I'm onlyy deserializing icons on menu items right now. It would be a bit weird to do that in action state, because I don't know which ones are supposed to be icons [15:23] dednick: I guess I'll supply a helper function or something... [15:24] larsu: i can just use the func directly [15:24] dednick: which one? [15:24] larsu: also, i think your G_IS_THEMED_ICON needs to check through all the icon names for a match. [15:24] mpt, you're just completely against me today ;) [15:24] what what, who do i fight [15:24] larsu, ? [15:25] mhr3_: don't use g_icon_to_string anymore, use g_icon_serialize [15:25] mhr3_: there's nothing to fight about :) [15:25] larsu, that's arch-dependant, we get icons from server [15:25] Saviq, when do you firstly saw the bug? [15:26] Cimi, yesterday, but I can't say it wasn't there before [15:26] mhr3_: as gicons?!?! [15:26] Saviq, ok [15:26] larsu, yep [15:26] larsu: http://pastebin.ubuntu.com/5915164/ [15:26] Saviq, because with the current toolkit, even at revision 1 of PageHeader.qml, bug is there [15:26] Cimi, might be an SDK bug then [15:26] Cimi, try and reproduce please [15:27] Cimi, in a small QML app [15:27] larsu: hm, was thinking iconUri, but that takes a gicon. errrr. [15:27] mhr3_: g_variant_print (g_icon_serialize (icon), FALSE) [15:27] mhr3_: but this is very... wrong [15:28] ok [15:28] larsu, to_tokens works fine [15:29] mhr3_: what kinds of icons are you sending? [15:30] mhr3_: we're making Saviq's life much harder if we have two ways to encode icons [15:30] larsu, no, you make it impossible - so DON'T [15:30] larsu, file, themed, our custom [15:30] larsu, mhr3_ we need ONE way to do that [15:30] Saviq, and that's gicon :) [15:31] mhr3_, it's flexible, I don't know what the other thing does [15:31] Saviq: ya. I'm working on it... [15:31] mhr3_, although UnityAnnotatedIcon does feel like quite a hack ;) [15:31] but I'm ok with it if we standardize on it [15:32] Saviq: if you ever saw the code to re-construct an annotated icon you wouldnt think it was 'quite a hack' [15:32] it's a freaking monster [15:32] mhr3_: again: to/from_string is deprecated, don't use it anymore [15:32] http://gicon/ ? [15:32] is it me or is the shell crashing like crazy on the desktop now? [15:32] Saviq, ultimately all you need is a way to get something to pass to the sdk to give you the a real pixbuf and a bunch of unity-specific properties [15:33] desrt: ugh, no [15:33] can't even start it 80% of the time [15:33] dednick: thanks for the patch [15:33] dednick, lol [15:33] desrt, we're using image://gicon/name in Qt [15:34] desrt, or rather in the Ubuntu Components [15:34] Saviq: ya, you shouldn't. It's been on my list for a hwile [15:34] *while [15:34] mhr3_, yeah, but UnityAnnotatedIcon is really Unity-specific, shouldn't go into SDK [15:35] sure, i never said it should, that's where the properties are stored [15:35] mhr3_, well yeah, that could work [15:35] larsu, what's your approach then/ [15:35] ? [15:35] larsu told me that bad things are happening here and i should come see. can anyone bring me up to speed a bit? [15:36] here my crash :-( http://paste.ubuntu.com/5915197/ [15:36] Saviq: proper qml icon uris [15:36] larsu, what are "qml icon uris"? [15:37] Saviq: is this a serious question? [15:37] tsdgeos, looks like something they worked on around the keyboard yesterday [15:38] Saviq: image://gicon is a hack [15:38] larsu, what wouldn't be? [15:38] Saviq: file://, http://, image://theme/xxx, ... [15:38] data:// ? [15:38] how is image://theme different from image://gicon ? [15:38] Saviq: I told renato to do that for the demo, when we didn't have time to do it properly [15:39] yeah ↑↑ [15:39] desrt: ya, I'm actually using that in qmenumodel [15:39] larsu, are you just against the "gicon" in there? [15:39] larsu: image://theme is just a qt icon provider uri [15:39] same as image://gicon [15:40] * desrt is guessing that larsu is against having to write a new custom style provider for tunneling gicons through a back channel [15:40] dednick: I know, I wrote one of those. But there's no theme:// protocol, so whatever [15:40] whereas a 'theme' provider would be relatively pure (just implementing the icon theme spec... no back channel smuggling of GIcon instances) [15:40] larsu: hehe, but you're just assuming it's gicon in there [15:40] Saviq: no, that was a side point. I'm really against you guys having to care about GIcon at all. [15:41] larsu, we're not :) [15:41] Saviq: and more importantly, caring about how GIcon serializes data [15:41] larsu: ah, no, you're just getting it from theme [15:41] larsu, that I agree with [15:41] larsu, we actually put the 'image://gicon' there ourselves [15:41] dednick: ya, it's only the xdg spec [15:41] larsu, when we don't get a full uri [15:42] Saviq: you do that and you didn't stop to think: "wait, this is a crazy hack I shouldn't be doing that" [15:42] larsu, of course I did :) [15:42] haha :D [15:42] okay, let's fix it, then [15:43] larsu, then I got . GThemedIcon() [15:43] larsu, which at least told me straight away it was a themed icon ;) [15:43] Saviq: ya, you should never ever see that from qml [15:43] Saviq: which component is that coming from? [15:43] larsu, scopes [15:44] larsu, you'll like that then http://bazaar.launchpad.net/~unity-team/unity8/trunk/view/head:/Components/IconUtil.js [15:44] i think we all agree here, we just don't have a qt-way to get themed icons [15:44] * larsu bangs head against the desk [15:44] plus we don't have qt object that wrap the unityicons [15:45] mhr3_, but I agree with larsu, if I just got a uri [15:45] mhr3_, even if it's a uri like image://unity/... [15:45] mhr3_: I wrote one that's acceptable, I've been meaning to propose to include it in unity8 [15:45] no you should really get an object [15:45] how do you annotate a uri? [15:45] dednick, ?bla=bla [15:45] &foo=baz [15:46] dednick, if it's a HTTP uri to annotate [15:46] dednick, you urlencode it [15:46] i c [15:46] dednick, or anyway, the annotated icon would always be urlencoded [15:46] ok, lets change all the scopes, and all the indicators. ready tomorrow? [15:47] ok, if you want a special uri instead of object, that's even easier for us [15:47] mhr3_: what's a unityicon? [15:47] dednick, so image://unity/annotated?uri=http%xx...&annotate_uri=http%xx etc. [15:47] larsu, gicon wrapped with some extra unity-specific props [15:47] larsu, it's an image that you get and need to slap some things on it [15:47] larsu, like the price ribbon we have [15:47] larsu, props like text_overlay [15:48] ya, that makes sense [15:48] larsu, so if we have this special uri scheme, fixing scopes is a few lines of code in the unity plugin [15:48] hm. didnt expect to start this by asking for an icon. [15:49] eh Saviq^ [15:49] do we? [15:50] mhr3_, unity7? [15:51] Saviq, we're not changing anything there, we're changing what we expose to unity8 [15:51] protocol remains the same [15:51] mhr3_, Saviq: right. Let me know if you need my themed icon provider [15:51] mhr3_, sure, that could work [15:51] larsu, btw, why is image://gicon/ needed at all? [15:51] larsu, why didn't image://theme/ suffice? [15:52] and what do we do to fix that, then? [15:52] MacSlow, what's the spec for notification icons, btw? [15:53] Saviq: that's what I have in unitymenumodel - do you have one as well? [15:53] Saviq: oh wait, I misread your question [15:54] Saviq: gicon is not needed at all, theme suffices. And that's what I have in unitymenumodel :) [15:55] larsu, wth was GIconProvider written at all then? [15:55] Saviq: demo [15:55] too few things to work on during demo, right? :) [15:55] mhr3_: ya :) [15:56] Saviq: to fix this mess, we need to touch all the code that hands you a GIcon. Do you have a list? [15:57] there's one line for the scopes [15:58] larsu, fortunately there's http://developer.ubuntu.com/api/ubuntu-12.10/qml/mobile/qml-ubuntu-components0-icon.html [15:58] larsu, noone should really be using image://gicon directly [15:58] larsu, but we have one or two places in unity8 [15:58] ah, nice [15:59] Saviq: if you send me a mail with those places, I'll fix them next week [16:00] larsu, I'm into IoM next week, just grep launchpad for gicon, you'll be good ;) [16:01] Saviq: ah, ok [16:01] Saviq, that's only "spec" https://wiki.ubuntu.com/NotifyOSD#Icon [16:01] Saviq, [16:01] larsu, http://paste.ubuntu.com/5915273/ [16:01] Saviq: thanks :( [16:02] Saviq: smiley fail. Too warm. [16:02] MacSlow, I meant for the "what apps send us" [16:02] MacSlow, as in do they assume it's a themed icon, otherwise push full urls? [16:02] i think ubuntu-mobile-icons has a somewhat limited set of icons, which i think why GIconProvider was created. checks through the whole set of themed icon names for a match. [16:02] MacSlow, is that part of the freedesktop spec? [16:02] Saviq, http://www.galago-project.org/specs/notification/0.9/x207.html [16:03] larsu, can you just document the uri scheme somewhere, i forgot that this will be on multiple places now that we have previews too [16:04] MacSlow, orly? so only binary data?! [16:04] Saviq: org.freedesktop.Notify is a mess in that regard. It supports filenames and an ad-hoc dbus image format (iiibiiay) [16:04] Saviq, and then there are the three hints "image_path"/"icon_data" and "image_path" of which we currently only support "image_path" in the new backend [16:05] Saviq, no only "image_path" as we can't pass binary data from backend to frontend [16:05] Saviq, "image_data"/"icon_data" was hardly ever used... even in the notify-osd days [16:05] MacSlow, how are icon names passed then? [16:05] MacSlow, just as a name? [16:05] Saviq, yes [16:06] mhr3_: which uri scheme do you mean? Qt should have a list in their docs... [16:06] mhr3_: oh, plus image://theme/ [16:07] larsu, you mean .../ ? :) [16:07] but i'm interested in the scheme that will support the overlays [16:07] larsu, so notifications are one place where we'd still have to hack stuff [16:07] MacSlow: mh? I think fdo notifications don't support themed icons [16:07] larsu, yeah, they don't - ours do [16:08] larsu, or just say that with the new spec requires image://theme/name [16:08] larsu, well :) [16:08] MacSlow: well? [16:08] larsu, it does support multiple names, right? [16:09] larsu, in notify-osd we added a special search-path for notification-icons... those were themeable [16:09] mhr3_: not yet, but if you have a proposal on how to encode that in a url, I'm all ears :) [16:09] larsu, i'm fine with what Saviq mentioned above [16:10] MacSlow: ah, interesting [16:10] larsu, but that's currently no longer supported with the new implementation [16:11] larsu, there's a branch GIconProvider, but it's not worked on atm as other bits are more important [16:12] larsu, so image://unity/annotated?base_icon=[urlencoded_base]&ribbon=[urlencoded_ribbon_string] [16:12] larsu, https://code.launchpad.net/~macslow/ubuntu-ui-toolkit/add-search-path-to-giconprovider/+merge/164197 [16:12] larsu, where base can be image://theme/foo [16:13] mhr3_, for multiples that can be image://multi/?uri=[urlencoded_foo]&uri=[urlencoed_bar] etc [16:13] larsu, ↑ [16:13] for fallbacks, that is [16:14] Saviq, so image://theme/ doesn't do multiple? [16:14] shouldn't that be fixed instead? [16:14] MacSlow: I don't think we can depend on gtk for that... [16:15] mhr3_, dunno, first I've heard of it is today :D [16:15] it doesn't right now [16:15] larsu, yeah... it was the beginning of adding support for this [16:15] MacSlow: right. Thanks for pointing me to it [16:16] larsu, planned? [16:16] mhr3_: it wasn't until you brought it up. If you need it, I think it certainly makes sense [16:16] mhr3_: dednick just sent me a patch that takes an interesting approach: [16:16] when constructing the uri, he checks which icon is installed [16:16] larsu, it's pretty common for themed file icons [16:16] and only includes that [16:17] that only works locally obviously [16:17] larsu, sounds expensive [16:17] why? You need to check at some point... [16:17] larsu, https://blueprints.launchpad.net/appmenu-qt/+spec/qt5-qpa-appmenu btw [16:17] larsu, yea, but you nicely cache it in the provider itself [16:18] larsu, yeah, I'd leave it to the provider [16:18] fair enough [16:18] so why not image://theme/icon1,icon2,icon3 [16:18] * larsu thinks ',' is not allowed in icon names [16:19] s@,@/@ [16:19] ? [16:20] mhr3_, nah, I'd use , [16:20] larsu, +1 [16:20] mhr3_: yeah I considered that but dismissed it because it looks like a path to an icon [16:20] i'm not sure comma is allowed in uris even :) [16:21] mhr3_: colons? [16:21] mhr3_, sure they are [16:21] mhr3_: I'm pretty sure commas are okay, thouh [16:22] fwiw it's a "reserved" character according to rfc3986 [16:22] The purpose of reserved characters is to provide a set of delimiting [16:22] characters that are distinguishable from other data within a URI. [16:22] Saviq: re that link, appmenu means global menu? [16:22] mhr3_, http://docs.python.org/2/library/urlparse.html#urlparse.urlparse btw [16:22] larsu, yes [16:22] so comma is fine [16:23] awesome, thanks for looking it up [16:23] mhr3_, there's a thing called "parameters" [16:24] but yeah, not useful here probably [16:25] Saviq: do you have a crash? [16:26] Kaleo, no, I don't [16:26] Saviq: related to rotation things? [16:26] Kaleo, Albert did [16:26] Saviq: ok, do you know why you were in CC of tmoenicke's email then? [16:26] Kaleo, 'cause I forwarded it from tsdgoes to tmoenicke [16:27] Kaleo, and also earlier ogra and gema reported crashes for apps run from console, but I think that's resolved now [16:27] Saviq: so, is there a bug report? [16:27] Kaleo, no, tmoenicke has most info, though [16:27] Saviq: jesus [16:27] Saviq: we work like amateurs sometimes [16:28] Kaleo, yes, I know you hate us already [16:29] Saviq: no, just the person who cannot create a bug report [16:29] Saviq: whoever that is [16:29] Kaleo, https://code.launchpad.net/~saviq/ubuntu-ui-toolkit/depend-devscripts/+merge/177185 btw [16:30] thanks === didrocks_busy is now known as didrocks === salem_ is now known as _salem === _salem is now known as salem_ === jhodapp is now known as jhodapp|afk === salem_ is now known as _salem