Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

OpenSesame 3.1.2 for OSX running on Qt5

2»

Comments

  • Hey @Diego and @Daniel it is great to hear from you. I haven't tried yet the solution but I think it is pretty important issue since it changes a lot (thousands file on mac) and lot of them are system files. Moreover (as Daniel said this issue comes from Qt4 - I had exactly same problem with Qt4 version of OpenSesame).

    Since it doesn't connect to *.osexp files (I have to open them with opening OpenSesame and then cmd+o or file > open) it is pretty strange. When I manully assign *.osexp to OpenSesame it just simply doesn't work.

    I am not familiar with Qt libraries programming at all, so if you could tell me where to look I can do some debugging or research.

  • edited September 2016

    Hey @Diego,
    thanks for the feedback. This is really weird, as OS X doesn't have a registry or such (like Windows, the reason why stuff like this is more often bound to happen there), and all icon related stuff is arranged through the Info.plist file that is packaged with the app. It's hard to believe that OSX would allow such extensive changes in the rest of the operating system if there is a mistake in this file. I'm in a hectic period at the moment, but I hope to do some OpenSesame bug hunting next week and solve these with some other problems (no promises though).

  • Hi @Daniel,

    Indeed from OpenSesame 3.1.0 and up the Info.plist file doesn't look good.

    Info.plist from opensesame_3.0.7-osx-1.dmg on the left and from opensesame_3.1.2-py2.7-macos-1.dmg on the right.

  • edited October 2016

    Hi Jarik, I think it still can be read well, only the module I used saves the info.plist in binary format. If I open the packaged Info.plist with XCode, it is read correctly. Could you check if this is also the case for you?

    I will check if I can configure biplist (the module I use to create the Info.plist) in such a way that it saves the file in plain text again though, as I think that is much more transparent.

  • Hi @Daniel,

    Yes, I can confirm I can read the Info.plist using Finder Preview (no Xcode required) on a Mac. But double clicking an .osexp does not open OpenSesame nor do the .osexp files get the OpenSesame icon.

    Best,
    Jarik

    PS the good news is opensesame_3.1.2-py2.7-macos-1.dmg seems to work on Mac OS Sierra (v10.12)!

  • Some more info:

    Only after 'downgrading' from opensesame_3.1.2-py2.7-macos-1.dmg to opensesame_3.0.7-osx-1.dmg (via 3.1.1 and 3.1.0), the icon and double-click functionality reappeared.

  • edited October 2016

    Well, that needs a bit of work then. I think it works for 3.0.7 because that version was still packaged with py2app, while we use a different method from 3.1.x onwards where we use an Anaconda environment as the basis for the package. I think the double clicking functionality doesn't work anyore because the main script is now simply a bash script with this new method instead of a binary (which py2app created), and therefore maybe doesn't correctly handle parameters that are passed to it. So there are quite some things to work on for Mac OS. If I shortly summarize the key issues for Mac OS X:

    • Don't let OpenSesame hijack random icons
    • Make sure .osexp files get the OpenSesame icon again
    • Make it possible again to open an experiment by double-clicking its .osexp file. Probably this means fixing the handling of parameters by the OpenSesame.app
  • I've been working on some of the issues mentioned above and I have mixed news:

    Don't let OpenSesame hijack random icons

    This should be solved, but I cannot really confirm it myself, and need you guys to check this. I discovered I composed the Info.plist file incorrectly, causing it to make MacOS see OpenSesame as a program that can open any possible file (phew). The Info.plist file is now built as it should be, so no more icon hijacking hopefully.

    Make sure .osexp files get the OpenSesame icon again.

    This should also be solved, but again is not really apparent on my system. I have often noticed that OS X is very slow with refreshing its icons, so maybe a restart will help. Again, it is nice to have this confirmed.

    Make it possible again to open an experiment by double-clicking its .osexp file. Probably this means fixing the handling of parameters by the OpenSesame.app

    This is the hardest one. In fact, I doubt this ever worked well in the past! I got as far as associating osexp files with OpenSesame again, and making sure that OpenSesame opens when an .osexp file is double-clicked. However, even though OpenSesame starts in this case, it does not open the experiment itself! This is because instead of passing the file-to-open as an argument to OpenSesame (as happens in Windows and Linux), Mac OS fires an 'open file' event, which the application should handle. I have no idea how to handle such an event in OpenSesame, nor have my attempts to search for examples on how to do this come up with anything. So bottom line, on this aspect I'm clueless, and I don't know if I find it worthwhile enough to invest a lot of time in it at the moment (there are much cooler features we can work on, or more pressing problems I should fix).

    I hope to upload the new version soon, which will be called opensesame_3.1.3-py2.7-macos-2.dmg. Sadly, the Qt5 version doesn't work at the moment, so this version will be Qt4-based. I do think these problems should also be solved in the Qt5 version (once I get it to work again) as these problems have nothing to do with the Qt libraries.

  • edited July 2017

    Hi @Daniel,

    any news about the Qt5 version for mac?

    If I'm right, now the choice is between a version (v. 3.1.6) that doesn't mess up with my icons but with the text in the script editor that is super hard to read and easily readable text but a mess in the icons (v.3.1.2). Any compromise here?

    Thanks again for taking care of this!

  • Hi Diego,
    I tried a couple of times to give this a go again, but sadly without having any luck. The problem is that the developers of anaconda (the python environment on which the opensesame app is based) has stopped their support for Qt5 at 5.6 (while the current version is 5.9 ). The problem they face is that the developers of Qt5 have dropped support for the compiler with which all packages for anaconda were built, so until they find a solution for this, the Qt version on Anaconda will be stuck at 5.6. This also means that it's hard for me to fix any bugs that we were facing for the Qt5 version of OpenSesame, since these were all related to that version of the Qt libraries.

    I have tried compiling an OpenSesame.app with Qt5 the 'old fashioned' way using a native python environment with py2app and almost succeeded, but I faced some security issues with the generated app that I haven't been able to solve yet (and frankly, haven't really found to the time for to have a closer look at).

    So the Qt5 story is ongoing, but still not solved. I also work on a mac, and know it's way overdue to make the switch to Qt5.

  • Hi @Daniel,

    thanks a lot for the detailed answer!

    Have a great evening,

    Diego

Sign In or Register to comment.