Как определить обработчик пользовательской схемы для просмотра файлов 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.

Другие вопросы по тегам