summaryrefslogtreecommitdiffstats
path: root/.local/bin/linkview
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/linkview')
-rwxr-xr-x.local/bin/linkview25
1 files changed, 17 insertions, 8 deletions
diff --git a/.local/bin/linkview b/.local/bin/linkview
index 1523e33..ec928a4 100755
--- a/.local/bin/linkview
+++ b/.local/bin/linkview
@@ -14,13 +14,20 @@ use POSIX qw(setsid);
use feature qw(switch);
no warnings qw(experimental::smartmatch);
+my $menu = "dmenu";
+my $IMGVIEW_PATH = 'nsxiv -b -a';
+
+if (defined $ENV{WAYLAND_DISPLAY}) {
+ $menu = "wmenu";
+ $IMGVIEW_PATH = 'imv';
+}
+
use constant {
TERMINAL_PATH => $TERMINAL,
MPV_PATH => 'mpv',
YTDL_PATH => 'yt-dlp',
FETCH_PATH => 'fetch',
CURL_PATH => 'curl',
- IMGVIEW_PATH => 'nsxiv',
ZATHURA_PATH => 'zathura',
W3M_PATH => 'w3m',
BROWSER_PATH => $BROWSER,
@@ -34,7 +41,7 @@ use constant PROG_LIST => "" .
"ytdl" . "\n" .
"ytdl thumbnail" . "\n" .
"fetch" . "\n" .
-"nsxiv" . "\n" .
+"img" . "\n" .
"zathura" . "\n" .
"w3m" . "\n" .
"browser" . "\n" .
@@ -88,7 +95,7 @@ sub open_link
$ret = -1;
if ($a eq "ytdl") {
$list = QUAL_LIST;
- $quality = `printf "$list" | dmenu -i -l 8`;
+ $quality = `printf "$list" | $menu -l 8`;
if (not $quality) {
exit 0;
}
@@ -328,12 +335,14 @@ sub open_link
$file_name = $tmp;
$file_name =~ s/.+\///g;
chomp $file_name;
- system(IMGVIEW_PATH, '-b', '-a', $file_name);
+ system("magick", $file_name, $file_name . ".jpg");
+ system($IMGVIEW_PATH . " " . $file_name . ".jpg");
unlink($file_name);
+ unlink($file_name . ".jpg");
exit 0;
}
}
- elsif ($a eq "nsxiv" || $a eq "zathura") {
+ elsif ($a eq "img" || $a eq "zathura") {
$pid = fork();
if (not $pid) {
setsid();
@@ -355,8 +364,8 @@ sub open_link
system(FETCH_PATH, '-q', $url);
}
}
- if ($a eq "nsxiv") {
- exec(IMGVIEW_PATH, '-b', '-a', $file_name);
+ if ($a eq "img") {
+ exec($IMGVIEW_PATH . " " . $file_name);
}
else {
exec(ZATHURA_PATH, $file_name);
@@ -393,7 +402,7 @@ sub dmenu_prompt
my $answer;
my $list = PROG_LIST;
- $answer = `printf "$list\nURL: $url\n" | dmenu -i`;
+ $answer = `printf "$list\nURL: $url\n" | $menu -i`;
chomp $answer;
return $answer;
}