Use I3SOCK environment variable for path in AnyEvent::I3 (#5987)

Commit 3ae5f31d0 introduced the I3SOCK environment variable. This
prevents us from having to call `i3 --get-socketpath'. In case the
variable doesn't exist, fall back to the old ways.

Signed-off-by: Wesley Schwengle <wesleys@opperschaap.net>
This commit is contained in:
Wesley Schwengle 2024-04-19 13:12:11 -04:00 committed by GitHub
parent 91ce3bdbd5
commit 5834b7e824
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -156,7 +156,9 @@ instance on the current DISPLAY which is almost always what you want.
sub new {
my ($class, $path) = @_;
$path = _call_i3('--get-socketpath') unless $path;
# We have I3SOCK now
$path ||= $ENV{I3SOCK};
$path ||= _call_i3('--get-socketpath');
# Check if we need to resolve ~
if ($path =~ /~/) {
@ -165,6 +167,10 @@ sub new {
$path =~ s/~/$home/g;
}
if(!-S $path) {
die "$path is not a socket", $/;
}
bless { path => $path } => $class;
}