corpnewt / ProperTree

Cross platform GUI plist editor written in python.
BSD 3-Clause "New" or "Revised" License
2.61k stars 430 forks source link

Binary packages support #1

Open vit9696 opened 5 years ago

vit9696 commented 5 years ago

Hey,

Thanks for the tool, several members of our team found it quite useful, especially the possibility to run non-macOS operating systems. While we believe automatic generation features may not be of any good use, the rest appears to look solid.

We wonder whether there is a possibility for binary packages/releases to appear:

Also, somebody noticed that drag and drop does not work in macOS, but I am actually unsure whether this is a technical limitation of the underlying ui kit or not and thus am not creating an issue for it.

corpnewt commented 5 years ago

Hello,

I'm glad you've found it useful. I can look into setting up releases - but is there any explicit advantage to that over executing the scripts themselves?

I did just test drag and drop in macOS (10.14.5 18F127a with the default python 2.7.10 and python 3.6.0) and items rearranged as intended, so I'm not sure if there's a version discrepancy, or some other issue.

-CorpNewt

vit9696 commented 5 years ago

For releases the main benefit is to be able to set up file associations and make double clicking on plists causing an app bundle to open and work properly.

For drag and drop the issue, from what I understood, was being able to double click the text, drag it and drop to the value. I would normally go with cmd+c/cmd+v, but perhaps the former is more useful to some Mac users.

Vit

ghost commented 5 years ago

Hi vit and corpnewt,

I added basic support for binary packaging, using py2app and py2exe in #2

Drag and drop is currently not yet supported, but would be a nice thing to have

dhinakg commented 5 years ago

I can help with automatic binary package generation (using Travis CI), given a script or instructions on how to build - camiel's #2 PR will work fine.

vit9696 commented 5 years ago

The suggested approach makes sense to me, but I guess only @corpnewt can make decisions here.

corpnewt commented 5 years ago

I'll look into the supplied PRs today and see what makes the most sense for the project. Thanks for the input and help @camielverdult @dhinakg @vit9696

-CorpNewt

corpnewt commented 5 years ago

@vit9696 I looked into a few different options with the binary releases - and what I think I've finally settled on is packing things similar to WhateverName (for macOS, at least).

However, regardless of what I've tried, I haven't found a way to parse multiple OpenDocument events with one instance of the script. Each time I've tried, a new instance is opened. This was a larger issue prior when the node copy methods saved only internally - but I recently adjusted it to utilize the system clipboard with a formatted plist string instead, which should hopefully mitigate that specific issue. The only remaining struggle is having multiple instances open and needing to quit them all.

If that's not beyond the realm of reason, I'll add that as-is. Sorry for taking awhile with looking into it, but as-is, it still doesn't seem terribly clean.

-CorpNewt

vit9696 commented 5 years ago

Hey,

I see how it is now. Indeed it is a little inconvenient, but to be honest it actually could become a benefit to my eyes. A separate instance per file is probably easier to manage except window management.

As for bundling, I would say either is fine on Mac, and on Windows it would be nice to have a single exe file.

Vit

corpnewt commented 5 years ago

Sounds good - I'll get that pushed in the next day or two. Thanks for your patience.

-CorpNewt

vit9696 commented 5 years ago

No worries, it is not like we are hurrying anywhere =)

corpnewt commented 5 years ago

I added a sub-script called buildapp.command in the Scripts directory that will create an app bundle on macOS. Let me know if that does what is needed.

-CorpNewt

vit9696 commented 5 years ago

Thanks a lot. Pretty much, we tested it here, and it seems to work about right, though feels a bit lonely without an icon (maybe something standard could do?).

Now that macOS is ok, I hope Windows gets some love as well, which is somewhat important, as many people do not have python installed. And afterwards it will be nice to have files published in releases to let ordinary people download the intuitively (perhaps with CI?).

jayvdb commented 5 years ago

You may want to look at @nuitka ; it has good support for most GUI libraries, and the devs are quite responsive.

vit9696 commented 4 years ago

Is this going to be resolved? I kind of expect to be able to download .app and .exe files. Thanks.

corpnewt commented 4 years ago

I should be able to work on it this weekend. Thanks for your patience.

-CorpNewt

vit9696 commented 4 years ago

That would be great!

vit9696 commented 4 years ago

I do not want to be insistent, but ping. Happy holidays, by the way!

IFierta commented 4 years ago

I will support vit9696 and ask the same question: > Is this going to be resolved? I kind of expect to be able to download .app and .exe files. Thanks.

dhinakg commented 4 years ago

By request of CorpNewt, I took a brief look at this and found that the only way I could get pyinstaller to work was if I moved all imports in the Scripts folder outside of it. py2exe just refused to work.

I will do some more investigation soon.

dhinakg commented 4 years ago

I looked at it a while later and ran into a long standing bug with pyinstaller regarding importing ctypes. I've been busy since but I'll see if I can look into it more.

dhinakg commented 4 years ago

Test build, please test and report any issues. ProperTree.zip

vit9696 commented 4 years ago

@corpnewt Now that the icon exists, can we have prepackages binaries at releases?

alikazemkhanloo commented 4 years ago

Hi, I wasn't aware of this feature, came here by google. it would be nice to mention buildapp.command in the readme. Or if it is going to be on releases, a link to releases in the readme.

Thanks.