44import os
55from albert import *
66
7- md_iid = '1 .0'
8- md_version = "1.3 "
7+ md_iid = '2 .0'
8+ md_version = "1.4 "
99md_name = "Pass"
1010md_description = "Manage passwords in pass"
1111md_bin_dependencies = ["pass" ]
1414
1515HOME_DIR = os .environ ["HOME" ]
1616PASS_DIR = os .environ .get ("PASSWORD_STORE_DIR" , os .path .join (HOME_DIR , ".password-store/" ))
17- ICON = ["xdg:dialog-password" ]
1817
19- class Plugin (TriggerQueryHandler ):
2018
21- def id (self ):
22- return md_id
19+ class Plugin (PluginInstance , TriggerQueryHandler ):
2320
24- def name (self ):
25- return md_name
26-
27- def description (self ):
28- return md_description
29-
30- def synopsis (self ):
31- return "<pass-name>"
32-
33- def defaultTrigger (self ):
34- return "pass "
21+ def __init__ (self ):
22+ TriggerQueryHandler .__init__ (self ,
23+ id = md_id ,
24+ name = md_name ,
25+ description = md_description ,
26+ synopsis = '<pass-name>' ,
27+ defaultTrigger = 'pass ' )
28+ PluginInstance .__init__ (self , extensions = [self ])
29+ self .iconUrls = ["xdg:dialog-password" ]
3530
3631 def handleTriggerQuery (self , query ):
3732 if query .string .strip ().startswith ("generate" ):
@@ -42,19 +37,18 @@ def handleTriggerQuery(self, query):
4237 def generatePassword (self , query ):
4338 location = query .string .strip ()[9 :]
4439
45- query .add (Item (
40+ query .add (StandardItem (
4641 id = "generate_password" ,
47- icon = ICON ,
42+ iconUrls = self . iconUrls ,
4843 text = "Generate a new password" ,
4944 subtext = "The new password will be located at %s" % location ,
50- completion = "pass %s" % query .string ,
45+ inputActionText = "pass %s" % query .string ,
5146 actions = [
5247 Action ("generate" , "Generate" , lambda : runDetachedProcess (["pass" , "generate" , "--clip" , location , "20" ]))
5348 ]
5449 ))
5550
5651 def showPasswords (self , query ):
57- passwords = []
5852 if query .string .strip ():
5953 passwords = self .getPasswordsFromSearch (query )
6054 else :
@@ -64,12 +58,12 @@ def showPasswords(self, query):
6458 for password in passwords :
6559 name = password .split ("/" )[- 1 ]
6660 results .append (
67- Item (
61+ StandardItem (
6862 id = password ,
69- icon = ICON ,
7063 text = name ,
7164 subtext = password ,
72- completion = "pass %s" % password ,
65+ iconUrls = self .iconUrls ,
66+ inputActionText = "pass %s" % password ,
7367 actions = [
7468 Action ("copy" , "Copy" , lambda pwd = password : runDetachedProcess (["pass" , "--clip" , pwd ])),
7569 Action ("edit" , "Edit" , lambda pwd = password : runDetachedProcess (["pass" , "edit" , pwd ])),
0 commit comments