feat(display_server): added display server checks

most lame and unoriginal stuff for mac and windows
This commit is contained in:
midirhee12 2024-08-14 03:33:43 +01:00
commit 74859fcb3d
4 changed files with 15 additions and 1 deletions

2
.envrc
View file

@ -1 +1 @@
use flake use flake ".#"

View file

@ -31,6 +31,8 @@
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
inputsFrom = [ inputsFrom = [
self.packages.${system}.whyfetch self.packages.${system}.whyfetch
];
nativeBuildInputs = [
pkgs.pyright pkgs.pyright
pkgs.black pkgs.black
pkgs.isort pkgs.isort

View file

@ -32,6 +32,7 @@ def __main__():
f"ram: {d.ram}", f"ram: {d.ram}",
f"up: {d.uptime}", f"up: {d.uptime}",
f"locale: {d.locale}", f"locale: {d.locale}",
f"server: {d.display_server}",
] ]
separator: str = separator_from_longest_prop(props) separator: str = separator_from_longest_prop(props)
@ -56,4 +57,5 @@ def __main__():
print( print(
f" {Colours.blue}'----'{Colours.white} {Colours.magenta}locale:{Colours.white} {d.locale}" f" {Colours.blue}'----'{Colours.white} {Colours.magenta}locale:{Colours.white} {d.locale}"
) )
print(f" {Colours.magenta}server:{Colours.white} {d.display_server}")
print(f"━━━━━━━━━━━━━━━{separator}") print(f"━━━━━━━━━━━━━━━{separator}")

View file

@ -23,6 +23,7 @@ class Data:
self.ram: str = self.get_ram() self.ram: str = self.get_ram()
self.uptime: str = self.get_uptime() self.uptime: str = self.get_uptime()
self.locale: str = lc.setlocale(lc.LC_CTYPE) self.locale: str = lc.setlocale(lc.LC_CTYPE)
self.display_server: str = self.get_display_server()
pass pass
def get_os(self) -> str: def get_os(self) -> str:
@ -69,6 +70,15 @@ class Data:
current_uptime: tm.struct_time = tm.gmtime(tm.time() - ps.boot_time()) current_uptime: tm.struct_time = tm.gmtime(tm.time() - ps.boot_time())
return tm.strftime("%H hours, %M minutes, %S seconds", current_uptime) return tm.strftime("%H hours, %M minutes, %S seconds", current_uptime)
def get_display_server(self) -> str:
if "Linux" == ures.system:
return os.environ["XDG_SESSION_TYPE"]
elif "Darwin" == ures.system:
return "XQuartz"
elif "Windows" == ures.system:
return "Desktop Window Manager (Windows)"
raise NotImplementedError(f"OS {os.name!r} support not available")
def provide_default_shell() -> str: def provide_default_shell() -> str:
if os.name == "nt": if os.name == "nt":