Как определить обработчик пользовательской схемы для просмотра файлов Maildir с Mutt
Я хотел бы определить обработчик пользовательской схемы, что-то вроде: muttview://, чтобы открыть терминал и увидеть Maildir в mutt. Mutt должен выполнить что-то вроде: mutt -f /home/user/Maildir/email@example.com, где этот каталог будет Maildir.
URI хотел бы что-то вроде этого: muttview:///home/user/Maildir/email@example.com
Я попытался настроить его так:
с muttview.desktop в / usr / share / Applicatons
[Desktop Entry]
Categories=Office;Network;Email;
Comment=Simple text-based Mail User Agent
Comment[de]=Einfaches, Text-basiertes Mailprogramm
Exec=mutt -f %u
Icon=mutt
Name=mutt
Name[de]=Mutt
MimeType=x-scheme-handler/muttview;
NoDisplay=true
Terminal=true
Type=Application
А в Chrome он просто открывает новый пустой браузер. В Firefox он открывает небольшой терминал, который быстро исчезает.
Где я не прав?
1 ответ
Я нашел решение, и хотел бы ответить на этот вопрос.
Сначала я создал один скрипт для запуска моего изобретенного muttview: URI-схемы.
#!/usr/bin/perl
use strict;
use warnings;
use feature ':5.10';
use utf8;
binmode(STDOUT, ":encoding(UTF-8)");
binmode(STDIN, ":encoding(UTF-8)");
$| = 1;
exit unless($ARGV[0] =~ /^muttview:/i);
my $uri = $ARGV[0];
my @email = split(':', $uri);
my $email = $email[1];
my $maildir = '/home/data1/protected/Maildir/' . $email;
unless(-d $maildir) {
system("zenity --info --text 'Maildir: $maildir does not exit'");
} else {
system("uxterm -e mutt -f '$maildir'");
}
Затем я создал в /usr/share/apps файл с именем: muttview.desktop:
[Desktop Entry]
Categories=Office;Network;Email;
Comment=Simple text-based Mail User Agent
Comment[de]=Einfaches, Text-basiertes Mailprogramm
Exec=/home/data1/protected/bin/MuttView.pl %u
Icon=mutt
Name=mutt
Name[de]=Mutt
MimeType=x-scheme-handler/muttview;
NoDisplay=true
Terminal=true
Type=Application
Затем я запустил эту команду:
xdg-settings set default-url-scheme-handler muttview muttview.desktop
И теперь, когда я делаю ссылку в HTML, вроде:
<a href="muttview:some@example.com">some@example.com</a>
Я получаю полный список писем Maildir соответствующего пользователя.
Моя среда просто IceWm, и я не использую Gnome или KDE.