From 74859fcb3dde18ebff59b96b4c417eebe6ff715d Mon Sep 17 00:00:00 2001 From: midirhee12 Date: Wed, 14 Aug 2024 03:33:43 +0100 Subject: [PATCH] feat(display_server): added display server checks most lame and unoriginal stuff for mac and windows --- .envrc | 2 +- flake.nix | 2 ++ whyfetch/__init__.py | 2 ++ whyfetch/data.py | 10 ++++++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.envrc b/.envrc index 3550a30..7e5fd88 100644 --- a/.envrc +++ b/.envrc @@ -1 +1 @@ -use flake +use flake ".#" diff --git a/flake.nix b/flake.nix index ee1923e..25e67e9 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,8 @@ devShells.default = pkgs.mkShell { inputsFrom = [ self.packages.${system}.whyfetch + ]; + nativeBuildInputs = [ pkgs.pyright pkgs.black pkgs.isort diff --git a/whyfetch/__init__.py b/whyfetch/__init__.py index 95fc59f..07ec668 100644 --- a/whyfetch/__init__.py +++ b/whyfetch/__init__.py @@ -32,6 +32,7 @@ def __main__(): f"ram: {d.ram}", f"up: {d.uptime}", f"locale: {d.locale}", + f"server: {d.display_server}", ] separator: str = separator_from_longest_prop(props) @@ -56,4 +57,5 @@ def __main__(): print( 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}") diff --git a/whyfetch/data.py b/whyfetch/data.py index 59bf76b..b276acb 100644 --- a/whyfetch/data.py +++ b/whyfetch/data.py @@ -23,6 +23,7 @@ class Data: self.ram: str = self.get_ram() self.uptime: str = self.get_uptime() self.locale: str = lc.setlocale(lc.LC_CTYPE) + self.display_server: str = self.get_display_server() pass def get_os(self) -> str: @@ -69,6 +70,15 @@ class Data: current_uptime: tm.struct_time = tm.gmtime(tm.time() - ps.boot_time()) 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: if os.name == "nt":