-
Notifications
You must be signed in to change notification settings - Fork 44
Conversation
- Add basic gtk test with pytest - Start using gobject style imports of gtk, pango, glib, etc - Remove some py2 specifics like OrderedDict backport and use of xrang - Fix usage of map and filter in python 3 - Fix relative imports in python 3 -
Opened with glade 3.16, changed toolkit version to 3.0 and saved.
get_visible_dialogs, store_dimensions and preferences_dialog_init now works
- Use bytes where appriate and strings elsewhere in connection handling. - More gobject style imports - Wrap lazy map()s and filter()s in list() - use quote from urllib.parse - sys.maxint is gone in py3
Incorporated changes from FoldingAtHome#55
I am very familiar with GTK 3 in Python 3. Can I help? |
@guystreeter Yes you can 😊 I'll add you as a collaborator on my forked repo. If you want look at the I have researched a bit on how to package python gtk3 apps for windows, mac and linux and found that the gaphor project is pretty successful (found from this list). I think I'll have a look at getting things building on macos next. |
Cool. I'm a Linux geek (Fedora/Red Hat). I don't know much about Windows or
Mac OS, but I do have one of each available. I'm well versed in rpm
packaging, and have made a few simple deb packages.
I've written Gtk 2/3 applications in Python 2/3 from scratch, so converting
the program to Gtk 3 and Python 3 is probably where I can best help.
I have to say that the current code style is painful to look at. I'd really
like to reformat it :).
…On Wed, Mar 25, 2020 at 5:27 AM Nikolai Røed Kristiansen < ***@***.***> wrote:
@guystreeter <https://github.com/guystreeter> Yes you can 😊 I'll add you
as a collaborator on my forked repo. If you want look at the
FIXME(nikolaik) things, the TODOs in the PR description or anything else
you find bad or broken, that would help a lot!
I have researched a bit on how to package python gtk3 apps for windows,
mac and linux and found that the gaphor project
<https://github.com/gaphor/gaphor> is pretty successful (found from this
list <https://pygobject.readthedocs.io/en/latest/#who-is-using-pygobject>.
I think I'll have a look at getting things building on macos next.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#56 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AL45YVNOVCYLTUFOZKOXK6LRJHMALANCNFSM4LRPPNBQ>
.
|
Let's work together on the linux packaging then 😊
Perfect 👌
Agreed. To keep the scope of this PR down and to make it easier to review, I think code style and formatting should be left as a followup PR. As I see it, the most important contribution would be to make stuff run on a relative modern setup of Linux, to help other people contribute. |
I've pushed 3 commits. |
In Python 3, map() doesn't do anything until its result is iterated.
I've pushed some more changes. |
What is the best way to test this branch? Do I need to build and install it? Or is there a way to run it from the build directory without installing. Keep up the good work! |
You can run it from source.
Just to be sure you're only using the new stuff, I'd suggest you un-install the FAHControl package if you have it. |
I think there is a step missing. After a fresh clone I cannot start FAHControl:
I found out that this file is ignored from git as it is generated by setup.py. However, after I manually created that file I could start FAHControl on debian/buster. |
@guystreeter excellent work! I'll test the changes this weekend. Hopefully will have time to look at building on mac soon. |
Yes, sorry I forgot about that step. You can just run
to create that file. Your app won't show the correct version number, but it will still run. |
While I'm waiting for testing of the source changes, I'll start updating the rpm packaging. |
I suppose that https://github.com/FoldingAtHome/fah-control/blob/master/stdeb.cfg Is outdated. |
Remove is_old_gtk and it's usage Remove osx_window_focus_workaround since it's probably not needed anymore with gtk3
well it seems to be working for me Ubuntu 19.10 , glad to finally have the apt errors not showing |
I am willing to contribute. |
I've been looking at building for debian and have an experimental branch build-linux which uses circleci to build. If you want to try out the new deb you'll find that as an artifact of the circleci job here (link to deb).
There are a few remaining known issues with it:
Update: Fixed the issues and made another build. On the build side of things I see the next steps as
|
I haven't done anything with the rpm build yet. I was hoping to hear there was already a .spec file somewhere. It isn't difficult to create a new one, and I can do that. I remain confused, though, about the mention of RPM in the scripts |
Hi Nikolaik, I tried the new deb package on Ubuntu 19.10. It installed perfectly: Also the usage looks good. But this is the first time I started fahcontrol. So I am not fully qualified to judge the functionalitty:-) Great work though! Thx Bert |
Installed on Siduction, no problems. I put in the number for my team, that was used in the /etc/fahclient/config.xml, replacing the team name that had been there, so it's definitely doing something. I didn't see anything in there about the Covid-19 setting I'd enabled, though. Perhaps that's held in FAHControl.db? Pip |
Do we have a duplicated effort #70? |
I have added an RPM .spec file and a script to build RPM packages. I tested it on Fedora 31. |
Depends: python-gnome2, python-support | dh-python | ||
XS-Python-Version: >= 2.4 | ||
Depends: python3-gi, python3-gi-cairo, gir1.2-gtk-3.0 | dh-python | ||
X-Python3-Version: >= 3.5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just FYI: X-Python3-Version is optional. https://www.debian.org/doc/packaging-manuals/python-policy/module_packages.html#specifying_versions
Only o-o-stable uses < 3.5, so it can be removed.
Will it be possible to be PEP8 compliant? it will help the project be more consistent with other projects of python and easier to read. |
any progress ? |
This is a WIP of a basic port from the GTK2 UI to GTK3. This also moves to python 3 only. I've tried to keep the changes as minimal as possible, leaving out formatting with PEP8/black, travis tests and refactoring.
Note that I am pretty unfamiliar with gtk, so be kind. I have not been able to test on mac yet, and will need help on windows. Any feedback is welcome 😊
Summary of changes:
pytest
.sys.maxint
withsys.maxsize
FAHControl.set_proc_name
TODO:
Migrate preference 'donor_stats_link' and one more to Gtk.ComboBoxTextInitilize donor_stats_link prefs properly