Add active gpu module using optimus-manager
This commit is contained in:
parent
ec71d7fbbe
commit
e5007a5729
1 changed files with 36 additions and 0 deletions
36
bumblebee_status/modules/contrib/optman.py
Normal file
36
bumblebee_status/modules/contrib/optman.py
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
"""Displays currently active gpu by optimus-manager
|
||||||
|
Requires the following packages:
|
||||||
|
|
||||||
|
* optimus-manager
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
import core.module
|
||||||
|
import core.widget
|
||||||
|
|
||||||
|
|
||||||
|
class Module(core.module.Module):
|
||||||
|
def __init__(self, config, theme):
|
||||||
|
super().__init__(config, theme, core.widget.Widget(self.output))
|
||||||
|
self.__gpumode = ""
|
||||||
|
|
||||||
|
def output(self, _):
|
||||||
|
return "GPU: {}".format(self.__gpumode)
|
||||||
|
|
||||||
|
def update(self):
|
||||||
|
cmd = ["optimus-manager", "--print-mode"]
|
||||||
|
output = (
|
||||||
|
subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||||
|
.communicate()[0]
|
||||||
|
.decode("utf-8")
|
||||||
|
.lower()
|
||||||
|
)
|
||||||
|
|
||||||
|
if "intel" in output:
|
||||||
|
self.__gpumode = "Intel"
|
||||||
|
elif "nvidia" in output:
|
||||||
|
self.__gpumode = "Nvidia"
|
||||||
|
elif "amd" in output:
|
||||||
|
self.__gpumode = "AMD"
|
Loading…
Reference in a new issue