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