Beispiel #1
0
 def __init__(self, arguments=[], desktop=None, desktop_file=None, verb="", **args):
     deskbar.interfaces.Match.__init__(self, category="actions", **args)
     
     self.desktop_file = desktop_file
     self._args = arguments
     self.verb = verb
     
     self.set_priority(self.get_priority() + EXACT_WORD_PRIO)
     
     self._desktop = desktop
     if desktop == None:
         self._desktop = parse_desktop_filename(desktop_file)
         if self._desktop == None:
             raise Exception("Desktop file not found, ignoring")
     
     # Strip %U or whatever arguments in Exec field
     exe = re.sub("%\w+", "", self._desktop.get_string("Exec"))
     # Strip any absolute path like /usr/bin/something to display only something
     i = exe.split(" ")[0].rfind("/")
     if i != -1:
         exe = exe[i+1:]
     self._display_prog = exe.strip()
     
     if len(self._args) > 0:
         program = self._desktop.get_string("Exec")
         self.add_action( GenericAction(self.get_name(), program, self._args, verb) )
     else:
         self.add_action( OpenDesktopFileAction(self.get_name(), self._desktop, self.desktop_file, self._display_prog) )
Beispiel #2
0
    def __init__(self,
                 arguments=[],
                 desktop=None,
                 desktop_file=None,
                 verb="",
                 **args):
        deskbar.interfaces.Match.__init__(self, category="actions", **args)

        self.desktop_file = desktop_file
        self._args = arguments
        self.verb = verb

        self.set_priority(self.get_priority() + EXACT_WORD_PRIO)

        self._desktop = desktop
        if desktop == None:
            self._desktop = parse_desktop_filename(desktop_file)
            if self._desktop == None:
                raise Exception("Desktop file not found, ignoring")

        # Strip %U or whatever arguments in Exec field
        exe = re.sub("%\w+", "", self._desktop.get_string("Exec"))
        # Strip any absolute path like /usr/bin/something to display only something
        i = exe.split(" ")[0].rfind("/")
        if i != -1:
            exe = exe[i + 1:]
        self._display_prog = exe.strip()

        if len(self._args) > 0:
            program = self._desktop.get_string("Exec")
            self.add_action(
                GenericAction(self.get_name(), program, self._args, verb))
        else:
            self.add_action(
                OpenDesktopFileAction(self.get_name(), self._desktop,
                                      self.desktop_file, self._display_prog))
Beispiel #3
0
 def initialize(self):
     result = parse_desktop_filename(self._desktop_file, False)
     if result != None:
         self._match = self.create_match(result, self._desktop_file)
Beispiel #4
0
 def initialize(self):
     result = parse_desktop_filename(self._desktop_file, False)
     if result != None:
         self._match = self.create_match(result, self._desktop_file)