dotfiles/i3/scripts/dmenu/Dmenu.py

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)