Toga-Encapsulated-Widgets (Package Manager)

27 views
Skip to first unread message

Gabriel Csapo

unread,
Mar 27, 2015, 4:46:32 PM3/27/15
to beeware-d...@googlegroups.com
As of current the toga-cocoa library and from what I see of the other libraries, do not have enough in them to dictate this, but I have been committing to the toga-cocoa branch here (https://github.com/gabrielcsapo/toga-cocoa). 

A thought came to me about what if toga had the capability to have a package manager of some sort built into it, this is wildly far fetched, but I think it would give the toga library a huge step over most gui libraries. The idea would have to be thought out a lot more than just this idea, but I think this could be a step in the next direction, having the ability for developers to make widgets combinations that are themselves native, but are built for a specific purpose. 

One example of this would be a package that allows the integration into the OSX system bar. I have been looking for the easiest way to build system bar applications that would help my productivity ten fold. 

Wonder what everyone thinks about this. 

Russell Keith-Magee

unread,
Mar 27, 2015, 7:50:24 PM3/27/15
to beeware-d...@googlegroups.com
I've got a slightly different spin on this.

At the "packaging" level, I'm not sure I see any need to invent anything beyond Python's native packaging tools. We don't need to re-invent packaging; just make what we have able to be installed with "pip install toga-extra-library".

As for the system bar - the philosophy I'm trying to promote with Toga is to abstract the broad concepts, not the specific widgets. This is discussed in the "Why toga" section of the docs using application menus as an example. 


In the case of the system bar, the idea would be much the same. OSX, Gnome, KDE and Windows all provide some concept of a persistent micro widget that lives somewhere in the top or bottom bar of the desktop, from which you can access some key data or functionality; this is a persistent service which can be used to launch the main app window if necessary. So - the idea wouldn't be to write an "OS/X System bar widget", but a generic "system bar" widget that can manifest in a native fashion on any supported platform. From a coding perspective, it should be as simple as declaring a "SystemBarWidget" as part of the app, adding a couple of menu items or describing a way to display the summary widget (with a couple of options like a "count" or an "on/off" display), and running the app.

In my ideal world, this wouldn't be an external package, either - it would be built in. However, that said, there's no reason that it *couldn't* be a third party library - I'd just aspire to have this sort of thing as core functionality.

Russ %-)
Message has been deleted

Gabriel Csapo

unread,
Mar 27, 2015, 8:57:01 PM3/27/15
to beeware-d...@googlegroups.com
I like that idea and completely understand where you are coming from. Although I imagine that is hard to program once and deploy without adhering to design principles on the different ecosystems. 

I was just suggesting there be a place where people can upload different widgets built for those purposes to expand the exposure of toga. I completely agree without having to deal with an external package manager. 

Russell Keith-Magee

unread,
Mar 27, 2015, 9:25:32 PM3/27/15
to beeware-d...@googlegroups.com
On Sat, Mar 28, 2015 at 8:57 AM, Gabriel Csapo <gabe...@gmail.com> wrote:
I like that idea and completely understand where you are coming from. Although I imagine that is hard to program once and deploy without adhering to design principles on the different ecosystems. 

I was just suggesting there be a place where people can upload different widgets built for those purposes to expand the exposure of toga. I completely agree without having to deal with an external package manager. 

If you're talking about some sort of "widget gallery" - I completely agree. We should definitely have both a gallery of officially supported widgets, and a way for third-party contributors to put their widgets in an index so everyone can see the widget options that are out there.

I'm also very much in favour of providing a way for people to monetise those widgets. But that's a much bigger discussion :-)

Russ %-)

Gabriel Csapo

unread,
Mar 27, 2015, 9:44:35 PM3/27/15
to beeware-d...@googlegroups.com
Yes exactly a widget gallery. I am looking to show off all the toga-cocoa widgets and get that in a format where people can see how powerful this can impact their dev workflow. Hoping to send a pull request up in the next week once I have properly documented the contribution and have a good way for people to start up and running. 

So would you be in favor of having a portion of the toga page be for widgets? *separated by category*

Russell Keith-Magee

unread,
Mar 27, 2015, 10:03:11 PM3/27/15
to beeware-d...@googlegroups.com
On Sat, Mar 28, 2015 at 9:44 AM, Gabriel Csapo <gabe...@gmail.com> wrote:
Yes exactly a widget gallery. I am looking to show off all the toga-cocoa widgets and get that in a format where people can see how powerful this can impact their dev workflow. Hoping to send a pull request up in the next week once I have properly documented the contribution and have a good way for people to start up and running. 

So would you be in favor of having a portion of the toga page be for widgets? *separated by category*

At the moment, the toga page is really just a landing page. I definitely don't have any problem making that page into something more substantial - it just seems premature to me when so much of the framework itself still needs work. But - as I've said before, if you're enthused to work on the website, I certainly won't stop you :-)

Yours,
Russ Magee %-)

Gabriel Csapo

unread,
Mar 27, 2015, 10:14:04 PM3/27/15
to beeware-d...@googlegroups.com
I completely agree with that sentiment. I have been working on the toga-cocoa library, since OSX is my main operating system I have no problem up-keeping it. I have looked into getting a second dev environment running elementaryOS so I could help with the gtk library as well as having both iOS and Android devices, once you push the changes you are working on for those environments, I would like to contribute to those as well.
Reply all
Reply to author
Forward
0 new messages