diff options
Diffstat (limited to '')
-rw-r--r-- | doc/Changelog | 2 | ||||
-rw-r--r-- | doc/TODO | 1 | ||||
-rw-r--r-- | portato/plugins/etc_proposals.py | 31 |
3 files changed, 31 insertions, 3 deletions
diff --git a/doc/Changelog b/doc/Changelog index 30f7691..e745e43 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,4 +1,4 @@ -next: +0.7.3: - fixed bugs - QtTerminal now uses events instead of signals (faster) - ability to show packages by installation status @@ -23,6 +23,7 @@ GTK: Qt: --- +- better terminal - find a way to use markup in CheckBoxes, Lists etc. - some hangups ... - color chooser for the ebuild hl-colors diff --git a/portato/plugins/etc_proposals.py b/portato/plugins/etc_proposals.py index 6cf53ad..fa54600 100644 --- a/portato/plugins/etc_proposals.py +++ b/portato/plugins/etc_proposals.py @@ -16,6 +16,12 @@ from portato.backend import system from subprocess import Popen from etcproposals.etcproposals_lib import EtcProposals, __version__ +try: + from etcproposals.etcproposals_info import FRONTEND, VERSIONS +except ImportError: + FRONTEND = None + VERSIONS = None + PROG="/usr/sbin/etc-proposals" class PortatoEtcProposals(EtcProposals): @@ -28,6 +34,17 @@ class PortatoEtcProposals(EtcProposals): self._add_update_proposals(dir) self.sort() +def get_frontend (): + if FRONTEND is None: + return ["--frontend", "gtk"] + else: + cmds = dict(zip([x.name for x in FRONTEND], [[x.command] for x in FRONTEND])) + names = [x.shortname for x in VERSIONS] # need this too, because etcproposals stores frontends in FRONTEND which cannot be launched + + for f in ["gtk2", "qt4"]: + if f in names: + return cmds[f] + def etc_prop (*args, **kwargs): """Entry point for this plugin.""" @@ -38,13 +55,23 @@ def etc_prop (*args, **kwargs): if l > 0: Popen(PROG) else: - Popen([PROG, "--frontend", "gtk", "--fastexit"]) + f = get_frontend() + + if f: + Popen([PROG, "--fastexit"]+f) + else: + debug("Cannot start etc-proposals. No graphical frontend installed!", error = 1) def etc_prop_menu (*args, **kwargs): if am_i_root(): if float(__version__) < 1.1: Popen(PROG) else: - Popen([PROG, "--frontend", "gtk"]) + f = get_frontend() + + if f: + Popen([PROG]+f) + else: + debug("Cannot start etc-proposals. No graphical frontend installed!", error = 1) else: debug("Cannot start etc-proposals. Not root!", error = 1) |