25 lines
582 B
Python
25 lines
582 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import os
|
|
import sys
|
|
import json
|
|
import subprocess
|
|
|
|
|
|
class Dmenu(object):
|
|
def __init__(self, items: list):
|
|
with open(os.path.dirname(sys.argv[0]) + "/dmenu.json") as fp:
|
|
self._dmenu = json.load(fp)["dmenu"]
|
|
self._items = items
|
|
|
|
def run(self):
|
|
"""Returns (exitCode, stdout)"""
|
|
p1 = subprocess.run(
|
|
self._dmenu,
|
|
input="\n".join(self._items),
|
|
encoding="utf-8",
|
|
stdout=subprocess.PIPE,
|
|
)
|
|
return (p1.returncode, p1.stdout)
|