Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

svn/magitパースペクティブにdiff専用の窓があった方が良い気がします #73

Closed
aki2o opened this issue Aug 17, 2014 · 6 comments

Comments

@aki2o
Copy link
Contributor

aki2o commented Aug 17, 2014

デフォルトだと、diff結果はsubに表示されると思うんですけど、
sub窓って大きくないので、大抵の人は使いづらいんじゃないかと思うんですが、
kiwanamiさんはどのようなrecipeで使ってらっしゃいますか?

僕は、他にもfilesやhistoryは、このパースペクティブでは要らないし、
logも、もっと幅があれば良いのになぁと思ってました。
なので、導入当初は使いづらい印象で使ってなかったんですが、
以下のように設定変更したら、現在はコミット作業がすこぶる快適になっています。

;; svn
(setq e2wm:c-svn-recipe
      '(| (:left-size-ratio 0.3)
          status
          (| (:left-size-ratio 0.2)
             (- (:upper-size-ratio 0.5)
                logs
                (- (:upper-size-ratio 0.5)
                   main sub))
             diff)))

(setq e2wm:c-svn-winfo
      '((:name status :plugin svn-status)
        (:name logs   :plugin svn-logs)
        (:name diff   :buffer "*svn output*" :default-hide t)
        (:name main)
        (:name sub    :buffer nil :default-hide t)))

(setf (e2wm:$pst-class-main (e2wm:pst-class-get 'svn)) 'status)

(defadvice e2wm:dp-svn-popup (around ~e2wm:mng-diff activate)
  (if (string= (buffer-name (ad-get-arg 0)) "*svn output*")
      (e2wm:with-advice
       (e2wm:pst-buffer-set 'diff (ad-get-arg 0) t t))
    ad-do-it))

;; git
(setq e2wm:c-magit-recipe
      '(| (:left-size-ratio 0.3)
          (- (:upper-size-ratio 0.6)
             status branches)
          (| (:left-size-ratio 0.2)
             (- (:upper-size-ratio 0.5)
                logs
                (- (:upper-size-ratio 0.5)
                   main sub))
             diff)))

(setq e2wm:c-magit-winfo
      '((:name status   :plugin magit-status)
        (:name branches :plugin magit-branches)
        (:name logs     :plugin magit-logs)
        (:name diff     :buffer "*magit-diff*" :default-hide t)
        (:name main)
        (:name sub      :buffer nil :default-hide t)))

(setf (e2wm:$pst-class-main (e2wm:pst-class-get 'magit)) 'status)

(defadvice e2wm:dp-magit-popup (around ~e2wm:mng-diff activate)
  (if (string= (buffer-name (ad-get-arg 0)) "*magit-diff*")
      (e2wm:with-advice
       (e2wm:pst-buffer-set 'diff (ad-get-arg 0) t t))
    ad-do-it))

デフォルトだと、便利さが半減してしまうんではないかと。
それだと勿体無いなぁと思いまして。
使いやすさは人それぞれだと思うんですが、
diffを見やすく表示する窓は、デフォルトで入れた方が良い気がします。

@kiwanami
Copy link
Owner

ありがとうございます。ちょっと試してみます。defadviceなしで取り込みたいところですね。

はてなで書いたとおり、magitパースペクティブはやっつけなのですが、個人的にある程度ワークフローを満たしていたので放ったらかしになっていました。sub窓は確かに小さいですが、あんまり使ってなかったです。。。
http://d.hatena.ne.jp/kiwanami/20110702/1309592243

@kiwanami
Copy link
Owner

大変遅くなりましたが、これを試してみたのですが、なかなか良いですね。
こっちを標準に取り替えてしまってもいいのかも知れません。
PRいただいてもいいですか?

@aki2o
Copy link
Contributor Author

aki2o commented Dec 24, 2014

了解です。少し時間下さい

@kiwanami
Copy link
Owner

ありがとうございます。
今更ながらですみません。よろしくおねがいします。

@aki2o
Copy link
Contributor Author

aki2o commented Jan 7, 2015

continue into #80, #81

@aki2o aki2o closed this as completed Jan 7, 2015
@kiwanami
Copy link
Owner

kiwanami commented Jan 8, 2015

ありがとうございます!
確認して取り込みます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants