Closer integration of GUIs
Allow GUIs to configure and control Redshift while displaying information on the current status of the program.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- High
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- None
- Definition:
- Discussion
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Bug #588087: add hooks for user actions on "mode" switch | Confirmed |
Bug #596550: add indicator tooltip with current colour temperature | Confirmed |
Sprints
Whiteboard
There are several options:
1) Integrate the GUI directly in the main program. This would require a rewrite of the python GUIs in C and would integration of the "main loop" in Redshift with the GTK+ main loop. Probably the easiest solution but also the least flexible.
2) Implement a simple protocol over the pipe between gtk-redshift and redshift. This would allow exchange of status from redshift and control requests from gtk-redshift. The implementation would probably be unnecessarily complex compared to plain DBus integration.
3) Implement configuration of Redshift through GConf or some equivalent system. This would allow Redshift to be configured though any GUI application. This wouldn't solve the issue of getting the GUI to show information from Redshift.
4) Integrate Redshift with D-Bus. This would allow any kind of communtication or signal between Redshift and any GUI or even non-GUI application. This seems to be the most flexible solution and the one I'd like to see implemented at least in the long term.
[2010-09-03 11:07:08] [fmarl] I've got no email notification about your feedback request, I'm sorry for this late reply :(
I agree that option 4 will be the best way to go.
Work items:
- dbus-ify redshift: produce a API draft, implement it
- produce mockups and implement the GUI