Câu trả lời:
Tôi không chắc liệu bạn có thể làm điều đó với tích hợp không display-battery-mode
. Về mặt này, nó không thể tùy biến nhiều và bạn có thể phải dùng đến những lời khuyên nặng nề để thay đổi chế độ tích hợp theo ý muốn.
Tôi đã viết Fancy-pin.el một thời gian trước để cung cấp một chỉ báo tùy chỉnh hơn cho tình trạng pin. Đáng chú ý, tôi muốn chỉ ra trạng thái của pin với màu sắc, nhưng gói đủ linh hoạt để cho phép sử dụng cho trường hợp sử dụng của bạn, bằng cách thay đổi fancy-battery-mode-line
tương ứng:
(setq fancy-battery-mode-line
'(:eval (unless (equal (cdr (assq ?b fancy-battery-last-status)) "+")
(fancy-battery-default-mode-line))))
Đừng hỏi, trạng thái xuất phát từ pin.el, có API khủng khiếp. Chỉ cần tin tôi rằng đó ?b
là trạng thái pin và "+"
ít nhất là sạc, cho hầu hết các phụ trợ.
Cài đặt này sẽ hiển thị trạng thái pin, nhưng chỉ khi pin hết. Để sử dụng định dạng khác, hãy viết chức năng của riêng bạn để thay thế fancy-battery-default-mode-line
. Hãy lấy của tôi làm bảo hiểm.
Về nhiệt độ, bạn có thể gặp may mắn với một phụ trợ khác. Hãy xem các phần phụ trợ hiện có battery.el
, tìm kiếm một phần có nhiệt độ pin và cố gắng đáp ứng các yêu cầu của nó. Tuy nhiên, battery.el
thường thành công trong việc chọn phần phụ trợ tốt nhất cho hệ thống của bạn, do đó, rất có thể phần cứng của bạn không báo cáo nhiệt độ pin hoặc không được hệ điều hành của bạn hỗ trợ đúng cách.
Bạn có thể đạt được điều này bằng cách khuyến khích battery-update
, chức năng thực sự cập nhật modeline để hiển thị trạng thái pin. Lời khuyên kiểm tra xem pin hiện đang sạc trong trường hợp mà nó gọi battery-update
có battery-mode-line-format
ràng buộc với nil
(có hiệu lực che giấu thông tin về pin), nếu không thì battery-update
được gọi với giá trị không đổi làbattery-mode-line-format
(defun my-skip-battery-display-if-charging (original-func)
(let ((battery-mode-line-format (unless (string= (downcase (cdr (assoc ?B (funcall battery-status-function)))) "charging")
battery-mode-line-format)))
(funcall original-func)))
(advice-add 'battery-update :around #'my-skip-battery-display-if-charging)
Lời khuyên hơi khó hiểu vì chúng tôi gọi battery-status-function
một lần trong khi buffer-update
chức năng đã gọi chức năng đó một lần vì vậy chúng tôi đang thực hiện một cuộc gọi chức năng bổ sung nhưng đây là những gì tôi có thể nghĩ ra.