-
-
Notifications
You must be signed in to change notification settings - Fork 574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Funding for a Linux release [$1,500 of $1,500] #221
Comments
So there is no BETA to test ? |
Pull requests are welcome. |
Great, In regards to testing with different OS's, thats something I can definitely do. I do DevOps bits, so I've started looking at creating a pipeline that can run tests automatically after a commit/tag, getting them to run on multiple OS's should be reasonably simple. I'll hopefully have something useful in about a week. I'll also create a VM dev environment for it too. |
Also as an FYI, I'll be meeting either half or all of this next week. Thanks |
Okay, great. |
I am waiting for linux support release, |
Hey @cztomczak , I've just posted half the bounty for this job - Unfortunately a bit late... I'll get the rest in over the next couple of weeks. Thanks in advance :) |
@phpengine Thank you :-) I will take on step one, which is to investigate the best option for the GUI framework to use. As described in Issue #77, either CEF Views can be used (these unfortunately are not supported on Mac, so cannot be reused) or GTK API can be used. CEF Views have some nice features and easy integrate with CEF without any focus/keyboard issues. When using GTK the code is more complex, but has no limitations on CEF limited API, however there are known keyboard issues as reported here. |
I've been testing CEF views and everything works fine. You can run upstream cefclient sample application in views mode by passing CEF on Linux unlike CEF on Windows doesn't have all the features built-in. For example there is no default implementation for dialogs on Linux. These need to be implemented by app. When running cefclient > tests > dialogs you can see that they don't work. This includes things like:
Each of these (js dialogs / file dialogs / print dialog) need to be implemented separately, so these are three tasks in total. @phpengine Which of those are essential for you? Drag and drop within window works out of the box. However drag and drop from external sources doesn't work. I don't think dragging files from external sources works neither on Windows. |
I've asked question on the CEF Forum in regards to implementing dialogs when using CEF Views. CEF topic for reference: https://magpcss.org/ceforum/viewtopic.php?f=6&t=15778 |
Hey, sorry it took so long to repond. I've spent most of the last week bedbound by flu. Thanks for these, I've had a look, and I think we'd need them all. Having said that though, I've already written replacements for the JS Dialogs, so we could do those last. I'd also be happy to put as much more in the bounty as we need, if it could be possible get them all in at some point. I would say file dialogs would be most important for me, as one of the first apps we'll try to build is like Office. Thanks, Dave |
Sorry to hear that you're sick. I wish you a fast recovery. Okay so file dialogs are priority no1. Hopefully these can be easily integrated with CEF Views using existing implementation in cefclient, will see. |
Hi, any updates in this. I am waiting for linux desktop release. I will also try to fund. Thank you |
The goal for this funding is set to $1000. So far only $500 was posted. |
Hi guys, sorry it's been a while. I've just posted an extra $350 in. Hope it helps! Thanks @cztomczak |
Not sure whats wrong with the payment... I sent it and paypal sent me a receipt but its not showing on the bountysource site. I've emailed them. I'll hopefully do the rest next week :) |
Thanks. The earliest I can start working on this feature is somewhere after June. |
@cztomczak I am so happy to see a Linux build is planned. Are you working on this already and is an ETA planned? (I'm not sure if we're talking 3 months, 6 months etc?). I use PHP Desktop daily from my Windows machine and it rocks!! I'd be happy to chuck in $100 into your pot if you can make a Linux build happen (and also let us know an ETA) :-) |
I only did initial investigation of what solutions to choose so far. The goal is still not met, so the actual coding has not yet started. I've just increased the goal to $1,500. The work will begin after the goal is met. @phpengine If you would like to withdraw your bounty, since I've increased the goal, you are free to do so. |
Oh right, reading through comments it seems like you're actually on $850 and the new goal is $1500? |
PS - this'll be totally worth it for the money, just need to find that money for you :-) |
There is the "Backers" tab on bountysource and I can only see $500 posted there. |
@phpengine In case you haven't heard, bountysource will be taking fees for unclaimed money over 90 days. I am considering changing the funding platform, as this doesn't sound right. One alternative is https://issuehunt.io/ . Original announcement about the fees from bountysource:
|
@phpengine If the bounty doesn't reach $1,500 this month, I suggesst you withdraw the money from bountysource to avoid the fees. You should do it before December 1st. |
@cztomczak Hey dude, thanks for the heads up there, I thought it might be more efficient if I just get it done in the next week. I probably should have checked the exact status of this change to the terms of the payment first... but I'm sure I can get the remaining $150 in within a week. What happens after that on Bountysource? If needed, I can withdraw those payments and put them into the Issuehunt task you mentioned, or we can finish this one in Bountysource and do the others on Issuehunt. Do you have a preference there? |
@phpengine Thanks. It looks like that if you withdraw the money from bountysource you have to pay 10% fee. Regarding the 10% fee for unclaimed money, it's not clear if this also applies to active issues that people are working on. I took a look at issuehunt.com and their fees are also not clear. You can email bountysource support and ask about the 10% unclaimed fee, if it applies here. |
@mattpass There is only $150 missing here to make for the goal. |
Release 70.3 is available for download, please test: |
Release 72.0 is available for download. Updated to latest Chrome/72.0.3626.81. Please test. I think this release is now feature complete as per the "initial release" discussed in this issue. All important features are working. Please test and if everything works well I will make a final official release in a week or so. |
I really don't understand why you using X and Gtk2 |
Hey @cztomczak , all looks good so far - thanks very much. A couple of questions/points on the settings.json file please.
|
@ZanderBrown Is that a question?
|
|
Hi @cztomczak , for the size of the window, is there a way to specify a percentage of the screen size instead of a fixed pixel value, so it fits on differently sized screens? |
@phpengine Regarding percentage of the screen. No, such feature is not available. For now just guess the best size that fits content in your app and make it fixed. I am open to developing phpdesktop for Linux further. As for this issue the goal was to make phpdesktop for Linux just work. An initial release. |
@phpengine If you package app in a way that uses custom scripting then you can customize settings.json during installation of your program. |
@cztomczak kinda? You seem to have made a backwards step without really explaining why My (very brief) look at the commit didn't reveal anything hence my statement Disclaimer: I am a member of the GNOME Foundation and know those responsible for Gtk |
@ZanderBrown Are you having any specific issues with GTK 2 in phpdesktop? Or is it GTK in general? Upstream CEF depends on X11, so you can't get rid of that. Upstream CEF sample application cefclient which is best tested for most features is written using GTK 2. I've copied code that handles dialogs (js, print, file) from cefclient, so it is based on GTK 2 and reusing that code saved me much time. |
Upstream CEF currently depends on X11, although there are plans to support other alternatives in the future. |
I have no issue with Gtk, quite the opposite There isn't that much variation between Gtk2 & 3 for what you seem to be doing but using 2 means your starting a new product based on deprecated technology with no support for HiDPI or Wayland (amongst other things) Whilst it's true upstream CEF does force you to have an indirect dep on X there is no reason for you to use it downstream rather than use Gtk API allowing you to get "Wayland for free" once CEF supports it |
In regards to further development, I'll probably put together a list of bits of bits I'd like or need to use, and then maybe use that as a baseline for all three OS versions. I'll spend a few days on that, and probably just list those things here. |
In regards to what @ZanderBrown mentioned, I don't know how enough about the internals of what's being built to be able to comment as yet, so if its necessary or beneficial enough then it could go on to that list or be looked at for future? |
@ZanderBrown The only thing that forces GTK 2 in phpdesktop is the dialogs (js, print, file). I was very clear in this issue that the goal was to make phpdesktop just work on Linux with its initial release, not to make it perfect. The resources (money) are limited. Pull requests to upgrade this code to GTK 3 are welcome. @phpengine Sure, make a list and we can discuss it. |
@ZanderBrown Personally I don't like the tone of your comments. I don't see you contributing to this funding or the project, so I don't understand the basis for your pretentions. |
Add new 'build-php-with-ext.sh' script that builds PHP with mysqli and pgsql extensions support. Note that pgsql extension has a dependency 'libpq5' that has to be installed on end user machine. Shipping both 'php-cgi' and 'php-cgi-mysqli-pgsql' PHP binaries with PHP Desktop releases.
I can give it a go I guess, currently failing to build using your instructions though
Sure but I've used it in the past
As previously state I am associated with the upstream for some of the technology involved + want to see phpdesktop do well, I have no intention of seeming pretentious here |
@ZanderBrown Please report build problems on the Forum. Here are my versions of tools:
|
I did a new release PHP Desktop v72.1 for Linux a few days ago. I've posted a news about it on reddit, so quite a few people already tested it and everything is working fine. It's time to close this issue. @phpengine When you have a list of new tasks ready, please send me an email and we can discuss it there. |
@phpengine I have submitted a claim for the bounty on bountysource. It says that two users need to approve this. It seems you have backed it using two different accounts. |
@cztomczak , apologies for the delay there, I'm about to release the bounty. All the bits I've checked worked fine so far. I've fully ported over the first electron app. If anything minor or missed comes up, can I add it here for you? As mentioned before, I'm still working on that list of new bits. Thanks, look forward to working with you again or the OSx and Windows versions! |
@cztomczak Payment released |
@phpengine Thank you. It's all fine. For new tasks I guess we can talk via email and then create new issues in the tracker for these tasks. |
For those interested in sponsoring a Linux release. This initial Linux release would include basic functionality - only some of the options in the settings.json file would be supported. With time more settings may be added. For now let's just make it work on Linux!
Funding will be carried out using bountysource.com website. Multiple people can post bounties and make up for the goal ($1,500). See the issue on bountysource:
https://www.bountysource.com/issues/53303038-funding-for-a-linux-release
Related issue: #77 ("Linux support").
Fundings for other features presented on the PHP Desktop Pro wiki page are also possible.
The text was updated successfully, but these errors were encountered: