GNOME Bugzilla – Bug 110205
standard generic components
Last modified: 2018-08-22 19:18:20 UTC
Right, based off some ideas and a mail message... Right now, generic components in GNOME are very very simplistic. For example, the E-Mail application preferred setting is just a command used to open a new mail. Same with a web browser. What would be far more powerful, and thus enhance user experience and desktop-usability(imo, anyways, see below), would be to have a standard GNOME component/control for these things. GNOME might not actually ship any implementations of these controls. Instead, these would be "specifications" that applications would make use of. As an example, for E-Mail, and app that needs to send e-mail could connect create an instance of this component, fill in the needed headers/body, and then call a "compose" or "deliver" message. Compose could open up the email editor for the user to refine the message, or deliver could just send it. (In that case, the component would probably open a dialog saying "Application XYZ wants to send an e-mail to Foo. Send Message? [View] [Cancel] [Send]".) For the web browser, it could be a comprehensive browser control. Open a new window on the current viewport, and send commands (open this url, open that, etc.), but only to the window it opened. The methods/names/etc. of these of course need to be determined. I haven't the background/experience to do that properly, tho I certainly have ideas on what they should do (if not how they do it). Then apps like Evolution/Balsa/Epiphany/Galeon/Bug-Buddy/GNOME-Office/etc. can have highly integrated, cooperating features that can be swapped out for alternative applications. (i.e., if user prefers Evolution over Balsa, the Evo version of the GNOME-Email component control would be loaded when an app requested it.) And, for non-GNOME/legacy apps, GNOME could ship highly simplified controls. For the web-browser, it might just wrapper moz-remote, and for e-mail it might just run some specified command/script.
That sounds great. Just one question: What should happen if, for example, a user chooses Mozilla as his main browser but, one day (for any reason), uses Epiphany ? Should GNOME use Epiphany as it is what is currently running or Mozilla because it is specified as the default component ?
not sure I'm parsing that... If you mean, what happens if a user has Mozilla set as their component, but then switches to using Epiphany, I would say the "Preferred Applications" configuration would settle that. For example, the Preferred Browser would only list the components that implement the Gnome:Browser interface. This might be, say, Epiphany Browser, and Mozilla Browser. Or whatever. Ideally, Mozilla wouldn't even be in the list; GNOME will have a GNOME-integrated browser that does everything Mozilla does, and there won't be a need for a hacked-up Bonobo wrapper around the Mozilla -remote controlling.
Fwiw, galeon has already a really basic idl interface (it's probably limited to an open_url function).
I guess these days we're moving towards solving a lot of these problems with D-BUS? Maybe filing bugs against specific modules is more fruitful than having this general bug sitting in here?
(In reply to Kjartan Maraas from comment #4) > I guess these days we're moving towards solving a lot of these problems with > D-BUS? Maybe filing bugs against specific modules is more fruitful than > having this general bug sitting in here? Yes please