diff --git a/fabric/hyprland/service.py b/fabric/hyprland/service.py index 520aed7..9702f93 100644 --- a/fabric/hyprland/service.py +++ b/fabric/hyprland/service.py @@ -106,20 +106,24 @@ def __init__(self, commands_only: bool = False, **kwargs): """ super().__init__(**kwargs) self.HYPRLAND_SIGNATURE = os.getenv("HYPRLAND_INSTANCE_SIGNATURE") - if self.HYPRLAND_SIGNATURE is None or not os.path.isdir( - f"/tmp/hypr/{self.HYPRLAND_SIGNATURE}" - ): + self.BASE_SOCKET_PATH = ( + new_path + if os.path.isdir( + ( + new_path + := f"{os.getenv('XDG_RUNTIME_DIR')}/hypr/{self.HYPRLAND_SIGNATURE}" + ) + ) + else f"/tmp/hypr/{self.HYPRLAND_SIGNATURE}" + ) + if not os.path.isdir(self.BASE_SOCKET_PATH): # hyprland is not running. raise HyprlandSocketNotFoundError( - "Hyprland socket doenst seem to be found,\nHyprland is running?" + "Hyprland socket doenst seem to be found, Hyprland is running?" ) # all aboard - self.HYPRLAND_EVENTS_SOCKET = ( - f"/tmp/hypr/{self.HYPRLAND_SIGNATURE}/.socket2.sock" - ) - self.HYPRLAND_COMMANDS_SOCKET = ( - f"/tmp/hypr/{self.HYPRLAND_SIGNATURE}/.socket.sock" - ) + self.HYPRLAND_EVENTS_SOCKET = f"{self.BASE_SOCKET_PATH}/.socket2.sock" + self.HYPRLAND_COMMANDS_SOCKET = f"{self.BASE_SOCKET_PATH}/.socket.sock" if not commands_only: self.event_socket_thread = GLib.Thread.new( "hyprland-socket-service",