Telephone Line에서 현대적인 mode-line에 ✨

9198 단어 emacs-lispEmacs
전화선 에서 현대적인 모드 라인을 설정하는 방법을 설명합니다.

Telephone Line이란?



간단하게 말하면 그 유명한 powerline 을 재구현한 것으로,
아래와 같이 세퍼레이터로 mode line에 표시하는 컨텐츠를 분할해, 시인성을 올릴 수 있습니다.





설정 방법



위를 설정하려면 패키지를 설치 한 후,
아래와 같이 설정해 주면 OK입니다.

init.el
;; Telephone Line modeを読み込み
(require 'telephone-line)

;; 左側で表示するコンテンツの設定
(setq telephone-line-lhs
      '((evil   . (telephone-line-evil-tag-segment))
        (accent . (telephone-line-vc-segment
                   telephone-line-erc-modified-channels-segment
                   telephone-line-process-segment))
        (nil    . (telephone-line-minor-mode-segment
                   telephone-line-buffer-segment))))

;; 右側で表示するコンテンツの設定
(setq telephone-line-rhs
      '((nil    . (telephone-line-misc-info-segment))
        (accent . (telephone-line-major-mode-segment))
        (evil   . (telephone-line-airline-position-segment))))

;; Telephone Lineモードを使う設定
(telephone-line-mode 1)

아래의 샘플이 참고가 됩니다.
htps : // 기주 b. 이 m/d보 r다 k/테ぇp 호네-ぃ네/bぉb/마s테 r/에ぁmpぇs. 오 rg

무엇이 좋은가?



배터리 포함



다양한 콘텐츠 표시를 위한 함수
init.el에서 설정하는 것만으로 사용할 수 있습니다.

init.el
;; Left edge
(setq telephone-line-lhs
      '((nil  . (telephone-line-buffer-segment))
        (nil  . (telephone-line-airline-position-segment))))

;; Right edge
(setq telephone-line-rhs
      '(
      ;; nyan-catを表示
      (nil  . ((telephone-line-nyan-segment :active)))
      ;; version-cotrolのブランチを表示
      (nil  . ((telephone-line-vc-segment :active)))
      ;; 自作関数(※後述)
      (nil  . ((my-flycheck-segment :active)))
      (nil  . ((my-perspeen-segment :active)))
      (accent  . (telephone-line-major-mode-segment))))

↓이런 느낌이 됩니다.


높은 확장성



이런 것을 표시하고 싶다,이 표시 마음에 들지 않는다면,telephone-line-defsegment 를 사용하여 직접 콘텐츠 표시를 위한 함수를 정의할 수 있습니다.
예를 들어, 나는 작업 공간 전환 패키지에 perspeen이라는 패키지를 사용하고 있지만 현재 작업 공간과 작업 공간의 누계를 mode-line에 표시하고 있습니다.

init.el
(telephone-line-defsegment my-perspeen-segment ()
    (let ((fg "#A6E22E"))
      (when perspeen-mode
        (let ((index 0)
              (currnet-ws 0))
          (mapcar (lambda (ws)
                    (setq index (1+ index))
                    (if (eq ws perspeen-current-ws)
                        (setq current-ws index)))
                  perspeen-ws-list)
          (format "%s %s"
                  (propertize (all-the-icons-material "desktop_windows")
                              'face `(:family ,(all-the-icons-material-family) :height 1.0 :foreground ,fg))
                  (propertize (format "%s/%s" current-ws index)
                              'face `(:foreground ,fg)))))))


샘플이 아래에 대량으로 있으므로, 참고가 될까 생각합니다.
htps : // 기주 b. 이 m/d보 r다 k/테ぇp호네-ぃ네/bぉb/마s r/테ぇp호네-ぃねーせg멘 ts. 에 l

끝에



mode-line을 모던하게 할 수 있는 Telephone Line을 소개했습니다.
외형을 멋지게 해, 텐션 올려 갑시다~.

좋은 웹페이지 즐겨찾기