Làm cách nào tôi có thể đặt mutt làm ứng dụng thư mặc định khi tôi nhấp vào 'mailto' trong trang web?


8

Tôi muốn bắt đầu mutt trong thiết bị đầu cuối khi tôi nhấp vào một số mailto: thẻ trong một trang web. Điều đó có thể không? Hiện tại Firefox bắt đầu, điều mà tôi thực sự không ủng hộ; nó tải chậm và không cần thiết.

Câu trả lời:


9

Trước tiên, bạn cần đảm bảo rằng có một .desktop tập tin được yêu cầu bởi đặc tả XDG. Đối với các chương trình GUI, cơ hội là tốt rồi là một phù hợp .desktop tập tin, cho các ứng dụng đầu cuối thường bạn phải tạo một cái của riêng bạn Kiểm tra thư mục /usr/share/applications cho tập tin hiện có. Có lẽ đã có một mutt.desktop tập tin. Nếu không, Tạo một cái.

Sau đó chỉnh sửa tập tin ~/.local/share/applications/mimeapps.list và thêm dòng sau

[Default Applications]
x-scheme-handler/mailto=mutt.desktop;

Đăng ký này mutt với mailto xử lý. Bạn có thể xác nhận đăng ký thành công với

xdg-mime query default 'x-scheme-handler/mailto'

cái nào nên xuất mutt.desktop. Bây giờ bạn có thể nhấp vào trên mail mailtoto trong crom và một thiết bị đầu cuối sẽ bật lên với một ví dụ mutt. Không cần thậm chí khởi động lại phiên máy tính để bàn hoặc trình duyệt.


1

Bạn cần viết một tập lệnh chỉ định thiết bị đầu cuối mà bạn muốn mutt để mở. Sau đó, trong Firefox, bạn có thể liên kết tập lệnh này với các liên kết mailto. Ví dụ: nếu bạn đang sử dụng terminator, bạn có thể tạo tập lệnh sau.

#!/usr/bin/env bash
terminator -x "mutt '$@'"

Trong trường hợp của tôi, tôi có một terminator thả xuống liên tục, vì vậy tôi muốn nó trong một tab mới. Tôi cũng cần một bảng màu 256, vì vậy tôi sử dụng

#!/usr/bin/env bash
terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"

FWIW đây là tập lệnh đầy đủ của tôi, cũng bỏ ẩn bộ kết thúc (nếu bị ẩn), sử dụng phím tắt Ctrl + Không gian , và đưa nó ra phía trước.

#!/usr/bin/env bash

terminator --new-tab -x "TERM=xterm-256color; mutt '$@'"

# If necessary, unhide and focus terminator window.
windowlist=$(xprop -root | sed -rn 's/_NET_CLIENT_LIST_STACKING\(WINDOW\): window id # (.*)/\1/p' | tr -d ',')
terminator_visible=false
for i in $windowlist; do
  [[ $(xprop -id $i | grep WM_CLASS\(STRING\)) == 'WM_CLASS(STRING) = "terminator", "Terminator"' ]] && terminator_visible=true && term_id=$i
done

if [[ $terminator_visible == false ]]; then # it's hidden
  xdotool key --clearmodifiers ctrl+space
elif [[ $(xprop -id $(xdotool getactivewindow) | grep WM_CLASS\(STRING\)) != 'WM_CLASS(STRING) = "terminator", "Terminator"' ]]; then # it's visible, but not active
  xdotool windowactivate $term_id 2> /dev/null # Gives error; not sure why. XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)
fi

-1

Môi trường máy tính để bàn nào bạn đang chạy? Bạn cần kiểm tra các cài đặt của trình xử lý loại MIME về cách đặt trình xử lý cụ thể cho các loại điều này.


OpenBox, tôi chỉ không biết làm thế nào để lấy mimetype, nó không phải là một tệp, tôi không thể chạy 'mimetype / path / to / file' để xác định nó
daisy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.